Дженерики в TypeScript с нуля: Generic, Extends, Дефолтные Параметры + Примеры Использования.
Вставка
- Опубліковано 3 чер 2024
- Разбираем с одной из сложнейших тем в TypeScript - дженериками. Generic - это мощный инструмент, позволяющий описывать типа, способные работать с различными типами и структурами данных. Таймкоды:
00:00 - Зачем нужны generic типы.
01:47 - Что такое generic в TypeScript. Синтаксис дженерик типов.
02:45 - Как работают generic типы.
05:38 - Создаем простой generic для загрузки данных по API.
07:18 - Пример функции generic для работы с массивами.
09:11 - Пример функции generic для работы с объектами.
10:20 - Встроенные типы generic на примере Promise, Array, Record.
12:04 - Generic + extends. Простой пример.
13:05 - Generic + class + extends. Пример с классом.
16:28 - Generic + object. Получаем значение по ключу.
18:18 - Generic + object. Получаем ключ по значению.
21:38 - Типизация функций с множеством дженериков.
23:49 - Значения по умолчанию для generic.
24:35 - Создание собственного дженерика, аналога React.FC.
Приятного просмотра! Буду благодарен за поддержку в виде комментария и лайка!
👉 Менторство и поддержка: / wisejs
✔️Если хочешь изучать программирование со мной, не забудь подписаться :)
ua-cam.com/channels/Oxq.html...
✔️Мой телеграм канал: t.me/joinchat/RVq-cmt6n1SJRS7Z
Подписывайтесь на мой канал, следите за новыми полезными роликами, пишите комментарии и приятного просмотра!
Определение понятий взяты из книги: typescript-definitive-guide.r...)
#generic #дженерики #typescript #тайпскрипт
Все свои вопросы касательно дженериков оставляй в комментариях 👇, тут же будем их разбирать.
хороший видосик, освежил немного память, спасибо тебе за твой труд...
Я не понимаю,почему на этом канале так мало подписчиков,по-моему лучше что я видел в жизни,это ролики с канала wise.js.Как всегда 100/10 спасибо за то что вы есть!!!!!!!
Случайно узнал о канале пару дней назад. Подтверждаю, что очень хорошо объясняются сложные темы. Сразу подписался. Я пол жизни фронт-эндом занимаюсь, но, например, лучшего объяснения TS я не находил пока. А его-то я как раз и упустил в свое время.
Терпение. Скоро будет много) канал то топовый
Тот случай, когда поставив лайк на первых минутах, через какое-то время неоднократно рука тянется еще ставить и ставить лайки, чтобы отблагодарить)
Спасибо за твой труд. Спасибо за большое количество реальных примеров!
Ахрененное видео, такой разнообразного функционала по дженерикам, даже в хороших платных курсах нет.
Спасибо, старался покрыть все базовые возможности :)
@@wisejs Спасибо большое 💯🔥
ты мега крут, все четко и понятно, куча примеров, спасибо за твой труд...
Спасибо 😀
@@wisejs Согласен, реально топ, побольше бы от тебя видосов!!!
Сразу видно, когда разработчик видяху делае.... Лайк
посмотрел несколько видосов про Женерики , этот самый збс. Жирный лойс!
И вообще парень толковый
Дженерики такая неоднозначная вещь, пересмотрел почти все русскоязычные видео на эту тему.
Ты сделал самое лучшее объяснение, как же я тебе благодарен, теперь как-то по полочкам уложилось
Это лучшее видео про джинерики которое я видел
Поставил лайк, не только из-за того что контент топ, но и за то, что нет ничего что отвлекало бы: музыки, лишних вставок и т.п.
Тот самый момент, когда тебя не просили, но ты поставил лайк, оставил комментарий и подписался).
Удачи!
Вот это вообще офигенное видео, ни у кого такого не видел!
Все четко, ясно и с душой! Как всегда!
Огромное спасибо за объяснения)
Дженерики стали для меня намного понятнее)
Шикарный обзор! Спасибо. Все собрано, систематизировано и компактно изложено!
Просто супер объяснение. За разбор примера из официально документации отдельный респект👍
Спасибо! Очень доступно изложена тема, которую не так просто понять. Продолжайте, вы делаете полезное дело!
топ! это самое полезное видео, которое я просмотрел за этот год
Великолепное объяснение!!! Большая благодарность с низким поклоном!
Спасибо огромное! Хоть у тебя есть такой контент оказывается
Спасибо автору!!!
Замечательные уроки 👍👍👍
Огонь. Все по полочкам разложено. Огромное спасибо за такой полезный урок.
потрясающие ролики про тсу!!! огромное спасибо автору. так редко бывает чтобы и подано хорошо и материал качественный и не простой, но и рассказано так что понятно. даже сам себя умнее чувствуешь пока смотришь - а это признак большого таланта автора который умеет так объяснять
Спасибо за очередное видео про TypeScript Generic, Extends
Спасибо. На примерах понять дженерики много проще.
Огромное спасибо!! Третий или четвертый раз пытаюсь понять про дженерики и только из вашего видео поняла
Дядя, это балдеж) обьясняешь понятно и кратко, мне б такого ментора 😂😂
Видос - шикардос, держи лайкос :)
У меня много практических вопросов поднакопилось к Generic. Это видео их полностью закрыло. Спасибо огромное!
Наконец-то доходчивое объяснение. Спасибо!
Спасибо за просто невероятное объяснение этих дженериков)
Спасибо за видос. Отличные примеры
Хороший урок, спасибо за труд!
Очень полезный урок, спасибо 🙌
Спасибо за офигенное объяснение
Очень доступно объяснил, спасибо большое. Ждём ещё разборы тем по TS , потому что мало толковых роликов , везде рассказывают самые основы и например те же дженерики бегло объясняют.
Очень крутой ролик по дженерики!
Теперь его всем советую)
Без комментариев, просто 🔥🔥 🔥
Это баааза) очень, очень хорошее объяснение, удачи в блоге!
Урок отличный, примеры прикладные!
Это видео...просто клад. Спасиб)
На курсах теорию прохожу, понял частично. Видео посмотрел, понял практически все. Осталось попрактиковаться.
Контент - ТОП! Спасибо большое!
Канал огонь! Спасибо за контент!!!
Аффтор молоток. Видео качественное.
Спасибо, за видео! Пожалуй это лучшее и доступное объяснение которое я видел)
Отличное видео
Спасибо за объяснения
Вот что значит человек постарался и подготовил материал. Знания залетают как конфетки с чаем)
Просто супер! Красава. Хотим больше по TS но желательно без привязок к реакту и пр. )
Спасибо!!!! все понятно обьсняешь!!
Наконец-то понял. Низкий поклон автору
Самый лучший видос по дженерикам.
You are the best! There were great snippets,understandable. Thank you;)
Не могу, начал изучать TP, думал, что дженерики это что то новое, крутое, а это просто шаблонный тип данных. К автору ничего не имею, красава, ролик хороший. Делай еще, ты красава.
Ох, действительно сложновато понять, если использовать дженерики на максималках. Надо пробовать понемногу юзать их) Спасибо, очень чётко рассказал!
Однозначно лайк, всё разжевал - спасибо. Теперь всё стало понятно)
Лучшее объяснение дженериков.
Отличный видос, так держать.
хорошее руководство по дженерикам: лайк, подписка)
Отличное объяснение!
Тот случай, когда понял, что все оказалось так просто, что странно, что не допер раньше. Спасибо. Может про всякое ООП в тайпскрипте расскажите.
Лайк, подписка! ❤ Спасибо за твой труд!
всё доступно и понятно. спасибо
Спасибо за подробный разбор и примеры! Мне очень помогло.
рад, что мои видео приносят пользу)
Спасибо тебе добрый человек )
Очень крутое объяснение спасибо
Последний пример особенно топ) не так давно начал изучать реакт и пытаюсь разобраться в типизации реакта) было интересно узнать на реализацию :FC функционального компонента в реакте.
крутяк видос! юзаю как справочник!
Wise, ты один из лучших! Typescript, generic)))) 🥳🥳🥳
Cупер контент, изи! Асалам алекум трампопом👏🏻
Спасибо за примеры из реальной жизни. Когда читаю статьи и документацию, там одна синтетика
Лайк, наконец всё понятно
Красавчик, рассказал четко, подписался лайк прожал, молодец! =)
Топ контент, успехов !
На 7:00, можно было добавить значение по умолчанию для Т, тогда и без уточнения можно передавать
спасибо большое.
прям очень качественный материал
Спасибо за комментарий!
Топовое видео!
Спасибо за видео.
Большое спасибо!
Чувак, спасибо!!
Спасибо!
Наверно, это самое ценное видео по дженерикам на русском языке. Огромное спасибо) лайк + колокольчик 👍
Видос огонь! 🔥🔥🔥
🧯🧯🧯
Спасибо бро! Твой канал определенно один из лучший русскоязычных по тематике. Рекламу бы какую то нормальную сделать, чтобы о канале узнало побольше людей. Тогда успех обеспечен.
Спасибо за поддержку, бро!)
Good job.
Сколько бы не пытались уйти от динамической типизации, в итоге к ней и вернулись..
Мегаполезное видео, просто о сложном!!!
Спасибо, рад что понравилось)
бомба видос)) извините меня все тут, но не могу я не сказать про ключЬ!))
век живи - век учись))))
12:55
Тут дженерик не особо-то и нужен =)
function len(collection: {length: number}) {
return collection.length;
}
len([1, 2]);
len('hello');
Тоже работает
А есть ли какие нибудь сайты с задачами на типизацию? Потому что вроде типизация с дженериками это просто, но как только начинаешь что то делать сам, бываешь сидишь в ступоре, потому что нет какого то понимания что ли. Вот хотел при помощи задачек набить понимание.
пишу на js уже несколько лет, последний год в своем проектке использую ts но не на 100%, но даже так получаю много пользы от него, НО блин на 21 минуте какаято жесть как по мне, че так усложнять то?
10:12, это операция пересечения, а не объединение
надо больше вариаций
там еще Return type какой то завезли все все другое новое рассказать.
Это уже conditional types + infer. Сделаю по ним видео.
жесть)
на 8:46 немного непонятно: почему TS разрешает передать в функцию массив содержащий два разных типа?
Потому что тип указан как любой массив. Там хоть сотня разных типов может быть.
@@wisejs ну я это понимаю как массив элементов типа T.
Дело в том, что мой основной язык - это Java, и там такие фокусы сделать нельзя. Там если массив / коллекция объявлены как T[] / List, то положить туда что-то, что не расширяет само T (ну или само T) нельзя
дякую велике, це значно зрозуміліше ніж дока
По теме видео, спасибо за науку, конечно, но один момент я тут не увидел. И понять его не могу.
Как и, главное, Когда нужно применять generic при вызове функции.....
Пример из React: const [value, setValue] = useState(0)
Расскажи про утилиты тс
Будет.
+
После просмотра этого видео, мой мозг сгорел
👉 Этот комментарий создан в качестве уважения автору и для продвижения его канала.
🫡
1. можно ли обявлять тайп алиасы с дженериками?
Допусти:
type UserFactory = FactoryClass;
const userFactory: UserFactory = ....
2. Использовать generic react компонеты в разных units:
React.ComponentProps ?
1. Можно.
2. Можно, если в этом есть смысл.
@@wisejs как, если TS это не пропускает.
@@allusio что не пропускает?
@@wisejs использование дженериков в объявлении алиасов ну и использование типов с дженериками, кроми как объявление типа переменной
@@allusio давайте примеры кода, что не работает. Сложно понять что именно не работает.