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