Дженерики в TypeScript с нуля: Generic, Extends, Дефолтные Параметры + Примеры Использования.

  Рет қаралды 54,121

wise.js 

wise.js 

Күн бұрын

Разбираем с одной из сложнейших тем в 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
✔️Если хочешь изучать программирование со мной, не забудь подписаться :)
kzbin.info/door/Oxq...
✔️Мой телеграм канал: t.me/joinchat/RVq-cmt6n1SJRS7Z
Подписывайтесь на мой канал, следите за новыми полезными роликами, пишите комментарии и приятного просмотра!
Определение понятий взяты из книги: typescript-definitive-guide.r...)
#generic #дженерики #typescript #тайпскрипт

Пікірлер: 129
@wisejs
@wisejs 2 жыл бұрын
Все свои вопросы касательно дженериков оставляй в комментариях 👇, тут же будем их разбирать.
@andriizilnyk4927
@andriizilnyk4927 2 жыл бұрын
хороший видосик, освежил немного память, спасибо тебе за твой труд...
@romanpohribniak8471
@romanpohribniak8471 2 жыл бұрын
Я не понимаю,почему на этом канале так мало подписчиков,по-моему лучше что я видел в жизни,это ролики с канала wise.js.Как всегда 100/10 спасибо за то что вы есть!!!!!!!
@GrOm_SG
@GrOm_SG 2 жыл бұрын
Случайно узнал о канале пару дней назад. Подтверждаю, что очень хорошо объясняются сложные темы. Сразу подписался. Я пол жизни фронт-эндом занимаюсь, но, например, лучшего объяснения TS я не находил пока. А его-то я как раз и упустил в свое время.
@zizzxiii2714
@zizzxiii2714 2 жыл бұрын
Терпение. Скоро будет много) канал то топовый
@user-ru3ui3is6p
@user-ru3ui3is6p 2 жыл бұрын
Тот случай, когда поставив лайк на первых минутах, через какое-то время неоднократно рука тянется еще ставить и ставить лайки, чтобы отблагодарить) Спасибо за твой труд. Спасибо за большое количество реальных примеров!
@user-fg6un4ho9z
@user-fg6un4ho9z 2 жыл бұрын
Ахрененное видео, такой разнообразного функционала по дженерикам, даже в хороших платных курсах нет.
@wisejs
@wisejs 2 жыл бұрын
Спасибо, старался покрыть все базовые возможности :)
@nouchance
@nouchance 2 жыл бұрын
@@wisejs Спасибо большое 💯🔥
@ajprofi
@ajprofi Жыл бұрын
Шикарный обзор! Спасибо. Все собрано, систематизировано и компактно изложено!
@sergeyplotnikov5031
@sergeyplotnikov5031 2 жыл бұрын
Великолепное объяснение!!! Большая благодарность с низким поклоном!
@user-uz7ok7vl2j
@user-uz7ok7vl2j 2 жыл бұрын
Спасибо автору!!! Замечательные уроки 👍👍👍
@grabril3264
@grabril3264 2 жыл бұрын
Огромное спасибо за объяснения) Дженерики стали для меня намного понятнее)
@arthurkitskan2359
@arthurkitskan2359 2 жыл бұрын
Спасибо! Очень доступно изложена тема, которую не так просто понять. Продолжайте, вы делаете полезное дело!
@user-xe7sp3pr7t
@user-xe7sp3pr7t 2 жыл бұрын
Все четко, ясно и с душой! Как всегда!
@nickkulmann
@nickkulmann Жыл бұрын
Огонь. Все по полочкам разложено. Огромное спасибо за такой полезный урок.
@user-ux8df6rx1e
@user-ux8df6rx1e Жыл бұрын
Просто супер объяснение. За разбор примера из официально документации отдельный респект👍
@konstantinvoronin4687
@konstantinvoronin4687 2 жыл бұрын
Спасибо за очередное видео про TypeScript Generic, Extends
@bvfromruvitaliy
@bvfromruvitaliy 2 жыл бұрын
Вот это вообще офигенное видео, ни у кого такого не видел!
@user-nk8pq1hc4e
@user-nk8pq1hc4e 6 ай бұрын
Спасибо за просто невероятное объяснение этих дженериков)
@blgarOk
@blgarOk 2 жыл бұрын
Спасибо. На примерах понять дженерики много проще.
@romarooman
@romarooman 2 жыл бұрын
You are the best! There were great snippets,understandable. Thank you;)
@dmitrytrofim
@dmitrytrofim 4 ай бұрын
Наконец-то доходчивое объяснение. Спасибо!
@user-zs4bs3yp3h
@user-zs4bs3yp3h Ай бұрын
Это баааза) очень, очень хорошее объяснение, удачи в блоге!
@Polite_person_
@Polite_person_ 2 жыл бұрын
Очень доступно объяснил, спасибо большое. Ждём ещё разборы тем по TS , потому что мало толковых роликов , везде рассказывают самые основы и например те же дженерики бегло объясняют.
@rasul7702
@rasul7702 4 ай бұрын
Спасибо за офигенное объяснение
@pc_boyarin1712
@pc_boyarin1712 Жыл бұрын
Очень крутой ролик по дженерики! Теперь его всем советую)
@fuad2069
@fuad2069 Жыл бұрын
Спасибо огромное! Хоть у тебя есть такой контент оказывается
@dimalukashenko4865
@dimalukashenko4865 Жыл бұрын
Хороший урок, спасибо за труд!
@user-py4jl1nm3v
@user-py4jl1nm3v 2 жыл бұрын
Спасибо за видос. Отличные примеры
@muratakmamedau7328
@muratakmamedau7328 2 жыл бұрын
Канал огонь! Спасибо за контент!!!
@user-pl6xx3xk9t
@user-pl6xx3xk9t Жыл бұрын
Контент - ТОП! Спасибо большое!
@user-mu4my8fq2e
@user-mu4my8fq2e 8 ай бұрын
Урок отличный, примеры прикладные!
@TheGaddina
@TheGaddina 2 жыл бұрын
Вот что значит человек постарался и подготовил материал. Знания залетают как конфетки с чаем)
@user-zj1xh1uc2l
@user-zj1xh1uc2l Жыл бұрын
У меня много практических вопросов поднакопилось к Generic. Это видео их полностью закрыло. Спасибо огромное!
@777Vasya77
@777Vasya77 2 жыл бұрын
Без комментариев, просто 🔥🔥 🔥
@RamaRama-qv3jo
@RamaRama-qv3jo 7 ай бұрын
Спасибо, за видео! Пожалуй это лучшее и доступное объяснение которое я видел)
@apkartas7416
@apkartas7416 8 ай бұрын
Спасибо!!!! все понятно обьсняешь!!
@romanpit4you361
@romanpit4you361 Ай бұрын
Это видео...просто клад. Спасиб) На курсах теорию прохожу, понял частично. Видео посмотрел, понял практически все. Осталось попрактиковаться.
@yaknyaz13
@yaknyaz13 7 ай бұрын
Наконец-то понял. Низкий поклон автору
@B_G_V
@B_G_V Жыл бұрын
Видос - шикардос, держи лайкос :)
@1654045
@1654045 9 ай бұрын
Просто супер! Красава. Хотим больше по TS но желательно без привязок к реакту и пр. )
@gregorytorshin2574
@gregorytorshin2574 2 жыл бұрын
Ох, действительно сложновато понять, если использовать дженерики на максималках. Надо пробовать понемногу юзать их) Спасибо, очень чётко рассказал!
@Anonym-li8eb
@Anonym-li8eb 5 ай бұрын
Очень полезный урок, спасибо 🙌
@germanfomenko4674
@germanfomenko4674 11 ай бұрын
Самый лучший видос по дженерикам.
@sezarik1663
@sezarik1663 Жыл бұрын
Однозначно лайк, всё разжевал - спасибо. Теперь всё стало понятно)
@andriizilnyk4927
@andriizilnyk4927 2 жыл бұрын
ты мега крут, все четко и понятно, куча примеров, спасибо за твой труд...
@wisejs
@wisejs 2 жыл бұрын
Спасибо 😀
@champ__champ
@champ__champ 2 жыл бұрын
@@wisejs Согласен, реально топ, побольше бы от тебя видосов!!!
@yabadababy3204
@yabadababy3204 2 ай бұрын
Это лучшее видео про джинерики которое я видел
@floor12evgen
@floor12evgen 2 жыл бұрын
Аффтор молоток. Видео качественное.
@snezhok9863
@snezhok9863 2 жыл бұрын
всё доступно и понятно. спасибо
@user-lj7yk3kl3f
@user-lj7yk3kl3f 2 жыл бұрын
хорошее руководство по дженерикам: лайк, подписка)
@garajgames3336
@garajgames3336 7 ай бұрын
Дядя, это балдеж) обьясняешь понятно и кратко, мне б такого ментора 😂😂
@ksushakiseleva2644
@ksushakiseleva2644 Жыл бұрын
Лайк, подписка! ❤ Спасибо за твой труд!
@yuraya6269
@yuraya6269 Жыл бұрын
Отличное видео Спасибо за объяснения
@user-ky4vq5jm5u
@user-ky4vq5jm5u 2 жыл бұрын
Отличный видос, так держать.
@localhost666
@localhost666 Жыл бұрын
Отличное объяснение!
@quiksilverost
@quiksilverost 6 ай бұрын
топ! это самое полезное видео, которое я просмотрел за этот год
@user-tp3ru2yw1r
@user-tp3ru2yw1r Жыл бұрын
Огромное спасибо!! Третий или четвертый раз пытаюсь понять про дженерики и только из вашего видео поняла
@user-gb9et7dk2r
@user-gb9et7dk2r 2 жыл бұрын
Лучшее объяснение дженериков.
@AGM140580
@AGM140580 2 жыл бұрын
Спасибо за подробный разбор и примеры! Мне очень помогло.
@wisejs
@wisejs 2 жыл бұрын
рад, что мои видео приносят пользу)
@VH-777
@VH-777 2 жыл бұрын
Спасибо тебе добрый человек )
@maxd7347
@maxd7347 11 ай бұрын
посмотрел несколько видосов про Женерики , этот самый збс. Жирный лойс! И вообще парень толковый
@orkhannabi
@orkhannabi 2 жыл бұрын
Cупер контент, изи! Асалам алекум трампопом👏🏻
@user-xw8ur4sc6t
@user-xw8ur4sc6t 3 ай бұрын
потрясающие ролики про тсу!!! огромное спасибо автору. так редко бывает чтобы и подано хорошо и материал качественный и не простой, но и рассказано так что понятно. даже сам себя умнее чувствуешь пока смотришь - а это признак большого таланта автора который умеет так объяснять
@vladimidlav
@vladimidlav 2 жыл бұрын
Дженерики такая неоднозначная вещь, пересмотрел почти все русскоязычные видео на эту тему. Ты сделал самое лучшее объяснение, как же я тебе благодарен, теперь как-то по полочкам уложилось
@magakz
@magakz 2 жыл бұрын
Топовое видео!
@andreymelnichenko9373
@andreymelnichenko9373 2 жыл бұрын
крутяк видос! юзаю как справочник!
@user-pt2uz5st7i
@user-pt2uz5st7i 3 ай бұрын
Очень крутое объяснение спасибо
@webartem
@webartem Жыл бұрын
Спасибо за примеры из реальной жизни. Когда читаю статьи и документацию, там одна синтетика
@hippycore0
@hippycore0 5 ай бұрын
Лайк, наконец всё понятно
@olfi1728
@olfi1728 2 жыл бұрын
Спасибо за видео.
@user-so1bu9cw5g
@user-so1bu9cw5g 2 жыл бұрын
Wise, ты один из лучших! Typescript, generic)))) 🥳🥳🥳
@user-ht5qv3wy4z
@user-ht5qv3wy4z 2 жыл бұрын
Красавчик, рассказал четко, подписался лайк прожал, молодец! =)
@mikhailreznichenko8035
@mikhailreznichenko8035 2 жыл бұрын
Видос огонь! 🔥🔥🔥
@wisejs
@wisejs 2 жыл бұрын
🧯🧯🧯
@alexmercer4653
@alexmercer4653 2 жыл бұрын
спасибо большое. прям очень качественный материал
@wisejs
@wisejs 2 жыл бұрын
Спасибо за комментарий!
@creativesolution4827
@creativesolution4827 3 ай бұрын
Чувак, спасибо!!
@HoshiramaSensei
@HoshiramaSensei 2 жыл бұрын
Большое спасибо!
@galievramil1169
@galievramil1169 7 ай бұрын
Сразу видно, когда разработчик видяху делае.... Лайк
@GuvaPusto
@GuvaPusto 2 жыл бұрын
Тот случай, когда понял, что все оказалось так просто, что странно, что не допер раньше. Спасибо. Может про всякое ООП в тайпскрипте расскажите.
@lindafromdream
@lindafromdream 2 жыл бұрын
Спасибо!
@Quentinrei
@Quentinrei 2 жыл бұрын
Топ контент, успехов ! На 7:00, можно было добавить значение по умолчанию для Т, тогда и без уточнения можно передавать
@garikmelqonyan6011
@garikmelqonyan6011 Жыл бұрын
Good job.
@e_viskhan
@e_viskhan Жыл бұрын
Поставил лайк, не только из-за того что контент топ, но и за то, что нет ничего что отвлекало бы: музыки, лишних вставок и т.п. Тот самый момент, когда тебя не просили, но ты поставил лайк, оставил комментарий и подписался). Удачи!
@alexmotorniy
@alexmotorniy Жыл бұрын
дякую велике, це значно зрозуміліше ніж дока
@PieceOfInternet
@PieceOfInternet 6 ай бұрын
Последний пример особенно топ) не так давно начал изучать реакт и пытаюсь разобраться в типизации реакта) было интересно узнать на реализацию :FC функционального компонента в реакте.
@1Malak16
@1Malak16 2 жыл бұрын
Спасибо бро! Твой канал определенно один из лучший русскоязычных по тематике. Рекламу бы какую то нормальную сделать, чтобы о канале узнало побольше людей. Тогда успех обеспечен.
@wisejs
@wisejs 2 жыл бұрын
Спасибо за поддержку, бро!)
@temasAndreikin
@temasAndreikin Жыл бұрын
Не могу, начал изучать TP, думал, что дженерики это что то новое, крутое, а это просто шаблонный тип данных. К автору ничего не имею, красава, ролик хороший. Делай еще, ты красава.
@fidgetmania
@fidgetmania Жыл бұрын
Наверно, это самое ценное видео по дженерикам на русском языке. Огромное спасибо) лайк + колокольчик 👍
@rmnkot
@rmnkot 2 жыл бұрын
Мегаполезное видео, просто о сложном!!!
@wisejs
@wisejs 2 жыл бұрын
Спасибо, рад что понравилось)
@venobrun
@venobrun 2 жыл бұрын
бомба видос)) извините меня все тут, но не могу я не сказать про ключЬ!))
@wisejs
@wisejs 2 жыл бұрын
век живи - век учись))))
@maxforest7133
@maxforest7133 2 жыл бұрын
Сколько бы не пытались уйти от динамической типизации, в итоге к ней и вернулись..
@user-fk2rp8bm6t
@user-fk2rp8bm6t Жыл бұрын
жесть)
@Aziikus
@Aziikus Жыл бұрын
А есть ли какие нибудь сайты с задачами на типизацию? Потому что вроде типизация с дженериками это просто, но как только начинаешь что то делать сам, бываешь сидишь в ступоре, потому что нет какого то понимания что ли. Вот хотел при помощи задачек набить понимание.
@mrgrd56
@mrgrd56 Жыл бұрын
12:55 Тут дженерик не особо-то и нужен =) function len(collection: {length: number}) { return collection.length; } len([1, 2]); len('hello'); Тоже работает
@yuriymusatov9181
@yuriymusatov9181 Жыл бұрын
пишу на js уже несколько лет, последний год в своем проектке использую ts но не на 100%, но даже так получаю много пользы от него, НО блин на 21 минуте какаято жесть как по мне, че так усложнять то?
@you.Multypassport
@you.Multypassport 2 жыл бұрын
надо больше вариаций там еще Return type какой то завезли все все другое новое рассказать.
@wisejs
@wisejs 2 жыл бұрын
Это уже conditional types + infer. Сделаю по ним видео.
@sergeys4732
@sergeys4732 2 жыл бұрын
Расскажи про утилиты тс
@wisejs
@wisejs 2 жыл бұрын
Будет.
@yakut54
@yakut54 Жыл бұрын
По теме видео, спасибо за науку, конечно, но один момент я тут не увидел. И понять его не могу. Как и, главное, Когда нужно применять generic при вызове функции..... Пример из React: const [value, setValue] = useState(0)
@vladislavnovikov5202
@vladislavnovikov5202 2 жыл бұрын
на 8:46 немного непонятно: почему TS разрешает передать в функцию массив содержащий два разных типа?
@wisejs
@wisejs 2 жыл бұрын
Потому что тип указан как любой массив. Там хоть сотня разных типов может быть.
@vladislavnovikov5202
@vladislavnovikov5202 2 жыл бұрын
​@@wisejs ну я это понимаю как массив элементов типа T. Дело в том, что мой основной язык - это Java, и там такие фокусы сделать нельзя. Там если массив / коллекция объявлены как T[] / List, то положить туда что-то, что не расширяет само T (ну или само T) нельзя
@ko22012
@ko22012 2 ай бұрын
10:12, это операция пересечения, а не объединение
@user-ge2qk4cm1j
@user-ge2qk4cm1j 2 жыл бұрын
+
@user-sv1ze9gk3b
@user-sv1ze9gk3b 2 жыл бұрын
👉 Этот комментарий создан в качестве уважения автору и для продвижения его канала.
@allusio
@allusio 2 жыл бұрын
1. можно ли обявлять тайп алиасы с дженериками? Допусти: type UserFactory = FactoryClass; const userFactory: UserFactory = .... 2. Использовать generic react компонеты в разных units: React.ComponentProps ?
@wisejs
@wisejs 2 жыл бұрын
1. Можно. 2. Можно, если в этом есть смысл.
@allusio
@allusio 2 жыл бұрын
@@wisejs как, если TS это не пропускает.
@wisejs
@wisejs 2 жыл бұрын
@@allusio что не пропускает?
@allusio
@allusio 2 жыл бұрын
@@wisejs использование дженериков в объявлении алиасов ну и использование типов с дженериками, кроми как объявление типа переменной
@wisejs
@wisejs 2 жыл бұрын
@@allusio давайте примеры кода, что не работает. Сложно понять что именно не работает.
@risselify
@risselify 3 ай бұрын
После просмотра этого видео, мой мозг сгорел
@miloman1995s
@miloman1995s Жыл бұрын
как же сложно ..... ааааааа
TypeScript Generics are EASY once you know this
22:21
ByteGrad
Рет қаралды 118 М.
Learn TypeScript Generics In 13 Minutes
12:52
Web Dev Simplified
Рет қаралды 198 М.
[Vowel]물고기는 물에서 살아야 해🐟🤣Fish have to live in the water #funny
00:53
Не пей газировку у мамы в машине
00:28
Даша Боровик
Рет қаралды 4,8 МЛН
GitHub CEO on Learning to Code and Dropping Out of College
2:38
Code With Lamin
Рет қаралды 6 М.
Why use Type and not Interface in TypeScript
14:12
ByteGrad
Рет қаралды 186 М.
Generics: The most intimidating TypeScript feature
18:19
Matt Pocock
Рет қаралды 158 М.
TypeScript generics или универсальный типы, обобщения
23:51
Михаил Непомнящий
Рет қаралды 32 М.
Typescript Coding Interview Questions - Typescript Crash Course
53:34
Monsterlessons Academy
Рет қаралды 8 М.