Продвинутое использование дженериков в TypeScript
HTML-код
- Опубликовано: 8 июн 2024
- В данном видео поговорим про продвинутое использование дженериков в TypeScript. Рассмотрим, как с помощью них можно типизировать сложные с кейсы в коде. Также в конце поговорим про новый функционал, добавленный в версии 4.7.
Видео про type guards:
• Как использовать unkno...
Код из видео и слайдов:
github.com/Ayub-Begimkulov/yo...
Ссылка на Telegram канал:
telegram.me/ayub_begimkulov_c...
Таймкоды:
00:00-00:49 - Интро
00:49-02:44 - Что такое дженерики?
02:44-05:17 - Ограничения для дженериков
05:17 -07:26 - Совет при использовании дженериков
07:26-09:25 - Завязка дженериков друг на друга
09:25-12:43 - Type gurad + дженерики
12:43-14:35 - Обертка над filter
14:35-17:27 - Дженерики в React компонентах
17:27-19:08 - Новый функционал передачи дефолтных значений
19:08-26:17 - Новый синтаксис для дженериков
26:17-28:45 - Пример с новым синтаксисом
28:45-29:07 - Заключение
Супер! Лучшее видео по разбору дженериков, больше половины из ролика вообще нигде на других каналах не видел, Спасибо!
рад, что понравилось!
Аналога этого видео больше нет на просторах рунета, подробнейшее объяснение, раньше ничего подобного вообще не видел!!!
Интересный момент про запятую в JSX, не знал этого. Спасибо👍
Я даже не думал, что кто-то уделит отдельное внимание этому. Спасибо за фидбэк!
@@ayub_begimkulov я тоже долго мучался с этим, но стак оверфлоу наше всё)
Этот момент не раз отталкивал исползовать дженерики в компонентах Реакт)
реально это была проблема))) спасибо за такой маленький, но очень важный нюанс)
У тебя лучшие видео про ts, удачи твоему каналу 😊
Спасибо!
лучший разбор дженериков на всём ютубе, спасибо тебе, очень много нового узнал)
Спасибо за хороший контент
спасибо большое аюб за твои видосы!
Спасибо за труд с помщю твоих видео я стал лучше понимать typescript хорошо обясняешь еще и примеры очень разясняют
Спасибо!
лучшее видео про объяснение дженериков )
Спасибо!
Отличный контент, спасибо тебе! Больше видео по тс)
Спасибо!
Канал тотальной годноты, по своей ценности очень похож на ulbi tv, уровень экспертности автора поражает, да, здесь есть чему поучиться middle разрабам!!!
очень круто объяснил про in out
Спасибо!
Довольно информативно получилось
Спасибо!
Контент огонь! 🔥
Спасибо!
👀👀👀, мощный ролик. 👍👍👍
Спасибо!
Супер❤ Давай про infer тогда ещё!
Спасибо! infer есть в планах.
Как я помню in, out есть в PL/SQL. Очень полезное видео, спасибо😃👍🏼
Прикольно, даже не знал об этом.
Топовый канал, уверен, что он будет рости. Автору большой респект
Спасибо!
Спасибо!
Пожалуйста!
крутой контент
Спасибо!
комментарий в поддержку канала
Спасибо!
Спасибо
Пожалуйста!
Аюб, спасибо за видео) Что у тебя за наушники?
sony wh-1000xm4
Привет! Спасибо за полезную инфу! Можно чуть медленнее и более "разжевывать" для чайников?) Я бы лучше два получасовых ролика посмотрел, чем один в твоей скорости х1.5))
Привет. Хорошо, постараюсь, в следующем видео улучшить эти моменты. Спасибо за обратную связь!
in out из C# стащили. Там это юзалось для generic интерфейсов, тесно связано с covariance/contravariance/invariance. В ts вывод типов поумнее, по этому как-то оно сходу и не нужно было, но видимо добавили для специфичных случаев когда оно само разрулить не может. Мутная тема конечно, плохо запоминается
Кто-то тут еще говорил, что in out из sql взяли. Так вообще согласен, что плохо запоминается по началу.
Привет! Можешь подсказать по примеру на 13:51, не понятны 2 момента. 1-ый: почему параметры функции predicate: index, originalArray здесь описаны и они обязательные, хотя в isNumber мы принимаем только value и в build-in функции filter эти параметры необязательные . И 2-ой вопрос: в чём конкретное различие FilteredItem и Item, ведь в конечном итоге FilteredItem просто расширяет Item и они оба имеют один тип. PS: спасибо за контент!
Слушай, как у тебя vscode тип подсвечивает? Это расширение или ты на видео накладываешь?? Спасибо
marketplace.visualstudio.com/items?itemName=Orta.vscode-twoslash-queries
14:30 кайфово
Ага)
Спасибо за видео, только вот новый синтаксис вообще запутанно как-то, с этими бейсами, спицификами))
Сама фича вообще сложная, нужно иметь какой-то бекграунд с похожими проблемами, чтобы все это понять. Спасибо за фидбэк!
hi, можешь помочь с типом??? Я на проекте понаписывал кучу разных типов, но с одним кое-что не получается, но так объяснить не могу, нужно показывать код...
3:30 С версии Typescript 5.0 можно использовать const прямо в дженерике объявления функции
Да, это классная фича. Спасибо, что поделился!
отличная информация , но только быстро говоришь не успеваю уловить иногда
Давай уже курс свой создавай)
Думаю запущу как-нибудь, пока только коучингом/консалтингом/менторингом занимаюсь.
А на какую тему хотел бы увидеть курс?
Чел просто шарит за то что говорит
Спасибо!
Скажите пожалуйста в чем разница между:
(value:T) => и
(value: string) =>
если знаем что тип стринг, зачем дженерик?
Вот наглядный пример:
tsplay.dev/mxjQzw
@@ayub_begimkulov Спасибо!
У тебя своя студия? Когда следующий трек?
Это переговорка)
Посмотрел предыдущее видео, все круто, перешёл на это и чёт не понимаю ничего, Айюб говори чуть помедленнее, очень сложно успевать за твоими мыслями)
Ок, постараюсь исправить в следующем видео. Спасибо за фидбэк!
13:40 автор похоже просто скопировал выведенный тип из нативной filter? 😁 Там достаточно и такого объявления дабы не перегружать синтаксис:
function myfilter(
arr: Item[],
predicate: (value: Item) => value is FilteredItem
) {
return arr.filter(predicate)
}
Тем не менее благодарю - почерпнул из видео полезного для себя! Не знал про такую особенность применения тайпгардов!
типЫ - это на районе которые?
Да
Постараюсь в след видосах больше обратить на это внимание. Спасибо за фидбэк!
Рахмэт
не за что)
Мозги кипят! 😀
Болит - значит растет)
друг а ты можешь запилить гайды по каждому разделу handbook тс доки?
Доку пересказывать, к сожалению, не вижу смысла) Покрываю только те темы, которые считаю реально полезными и нужными. Но думаю в плейлисте большую часть тем разберем так или иначе.
можно помедленнее ?)
Спасибо за фидбэк! Постараюсь в следующий раз не торопиться так сильно, а пока можно поставить 0.75 скорость)
@@ayub_begimkulov посади медленно говорящего джуна, пусть переозвучивает, заодно и сам разберется, пока вникает во всё это))
@@_GyG_ Мне кажется так сложнее будет, так как он может упустить моменты) Да и в целом самому надо софт скиллы качать.
ты откуда ?
Ставь бейз если понял про in/out
Ставь specific, если не понял ничего
Вроде в комментах количество specific не показывается)
Сильно тарахтишь, говори членораздельно.