Utility Types в TypeScript с нуля. Все Утилиты на Практике.

Поделиться
HTML-код
  • Опубликовано: 22 май 2024
  • Для расширения и модификации типов в TypeScript существует огромный набор встроенных утилитных типов, так называемых Utility Types. Эти утилиты доступны для использования во всех модулях и позволяют масштабировать существующие типы без повторения кода.
    Таймкоды:
    00:00 - Вступление
    00:14 - Readonly
    01:24 - Partial
    02:45 - Required
    03:56 - Pick
    04:55 - Omit
    05:42 - Record
    07:18 - Exclude
    08:25 - Extract
    09:20 - NonNullable
    10:28 - ReturnType
    11:43 - Parameters
    12:31 - Awaited
    13:18 - Манипуляции со строками
    Приятного просмотра! Буду благодарен за поддержку в виде комментария и лайка!
    🎬 Видео keyof typeof - • Что такое keyof typeof...
    👉 Исходный код, чат, воркшопы и поддержка канала: / wisejs
    ✔️ Если хочешь изучать программирование со мной, не забудь подписаться :)
    ruclips.net/channel/UCOxq...
    ✔️ Мой телеграм канал: t.me/joinchat/RVq-cmt6n1SJRS7Z
    #typescript #utilitytypes #тайпскрипт #утилиты #wisejs

Комментарии • 62

  • @Armas0n
    @Armas0n 2 года назад +8

    При изучении я сначала не мог понять, чем Omit отличается от Exclude. Потом стало ясно, что Omit принимает интерфейсы и другие объектные типы, а Exclude принимает параметром union type из ключей (keyof как раз возвращает такое)

  • @user-lg3uy2lx9h
    @user-lg3uy2lx9h 2 года назад +17

    Оо огромное спасибо, это то что я так долго искал. Продвинутый TS на пальцах с примерами. Прям лайк огромный)

  • @biovawan
    @biovawan 2 года назад +5

    Грамотно и понятно объясняешь! Огромное спасибо за труды!
    Желаю успехов!

  • @denmccormik7654
    @denmccormik7654 2 года назад +1

    Кайф, только вчера услышал впервые слово "утилитарный", а видос уже тут

  • @alexandrchazov6185
    @alexandrchazov6185 Год назад +2

    Спасибо, дружище, ты лучший, я пересмотрел все твои уроки по TypeScript и благодаря тебе сэкономил кучу времени на изучение материала

  • @fuad2069
    @fuad2069 Год назад +1

    Надеюсь у тебя всё хорошо, и ты жив и здоров)

  • @valentynlugovyi4789
    @valentynlugovyi4789 2 года назад +1

    Круто видео! Спасибо мужик! Pick и Omit это то что нужно было мне, когда типизацию дописывали))

  • @fergussawyer
    @fergussawyer Год назад +1

    Большое человеческое спасибо! 🤩

  • @avraamiy
    @avraamiy 2 года назад +1

    Очень полезный контент, и отличная подача! спасибо тебе большое! успехов в развитии канала)

  • @jsde_coder3234
    @jsde_coder3234 2 года назад +3

    Мощно , красава, жду следующий контент

    • @wisejs
      @wisejs  2 года назад +1

      Спасибо!

  • @castiliOR
    @castiliOR 2 года назад

    Спасибо за видео. Очень доступное объяснение. Держи лойс

  • @KvN-UA
    @KvN-UA Год назад +1

    Потужно 🇺🇦
    Чудовий контент та відмінна подача, + є таймкоди та посилання на вихідний код!

  • @4uikina
    @4uikina Год назад

    Спасибо за видео, емко и ясно!

  • @SergiiBespalko
    @SergiiBespalko 2 года назад +1

    Агонь, класс, то что надо

  • @max_mgtow
    @max_mgtow 2 года назад +2

    Круто🔥👍

  • @sergeyplotnikov5031
    @sergeyplotnikov5031 2 года назад +1

    Великолепно!

  • @andreyplatov2758
    @andreyplatov2758 Год назад

    Thanks for your courses

  • @rebelliondreamer6261
    @rebelliondreamer6261 2 года назад +3

    Спасибо большое! Пользуюсь только частью приведенных утилит, некоторые просто не мог понять, но ты помог прояснить картину!)

    • @wisejs
      @wisejs  2 года назад +1

      Круто!

  • @levshportak5401
    @levshportak5401 2 года назад

    Доходчиво разложил, спасибо

  • @tayurus
    @tayurus 2 года назад +2

    От души!

  • @vitaliygaidyk6607
    @vitaliygaidyk6607 2 года назад

    Крутая идея с зумом кода!

  • @v.demchenko
    @v.demchenko Год назад

    Топ, подписка лайк. Все доступно обьясняешь.

  • @xice111
    @xice111 Год назад

    так держать, молодца делай еще видосики

  • @ovoshwoo
    @ovoshwoo 2 года назад

    Офигенный канал 🥂

  • @vladimirrabtsun
    @vladimirrabtsun 2 года назад

    мощно! спасибо!

  • @user-mu4my8fq2e
    @user-mu4my8fq2e Год назад

    Моё почтение!

  • @dobermanpharaoh7567
    @dobermanpharaoh7567 Год назад

    Блин это супер видео! Потратил на него 2-3 часа чтобы подробно разобраться с каждым из Utility Types и не пожалел!
    Почему-то эта тема очень плохо гуглится.
    Лайк и подписка - однозначно!
    Единственное - плохо понял для чего на практике могут понадобиться Exclude и Extract. По сути результатом будет имя ключа в виде строки если правильно понял.
    Если не сложно напишите плиз.

  • @grigoriymartynov8010
    @grigoriymartynov8010 3 месяца назад

    написано правильно, а сказал чуток не так:
    Readonly - делает поля объекта доступными только для чтения, а не обязательными
    а так большое спасибо за видео и примеры, все очень доступно и понятно!)

  • @dmitrykabanov2869
    @dmitrykabanov2869 2 года назад

    Крутейшая инфа, автору большущее спасибо
    Наверное NonNullable можно было бы применять для local/sessionstorage, тк там возвращается string | undefined

  • @illia6542
    @illia6542 6 месяцев назад

    Cпасибо

  • @muratakmamedau7328
    @muratakmamedau7328 2 года назад +1

    Топ!

  • @erxweo
    @erxweo Год назад

    Очень интересно и понятно рассказываешь. Будут ли еще видео с разработкой каких либо пет проектов на React TS или Next TS?? Очень хочется именно в связке с TS разобраться. А нормальных ресурсов с актуальными версиями React и TS почти нет. В итоге что у человека в ролике работает, у меня не работает

  • @user-uz7ok7vl2j
    @user-uz7ok7vl2j 2 года назад +1

    🔥🔥🔥

  • @andrewsmal5173
    @andrewsmal5173 Год назад +1

    Хотелось бы увидеть типизацию redux toolkit. Типизация во время обработки ошибок. Работа с axios. Спасибо!

  • @user-qx6gp9ci5d
    @user-qx6gp9ci5d 2 года назад +1

    👍🏻👍🏻

  • @fedraana
    @fedraana Год назад +1

    горестно видеть такие каналы и четко понимать почему нет видео и возможно уже не будет для захватчиков. Надеюсь вы хотя бы живы и здоровы.

  • @CJIu3eHb
    @CJIu3eHb Год назад

    В последнем примере с WithGetters значение записи (типизация функции) описана как ()=>string, хотя в примере объекта age=40 (т.е. number). Может там надо было добавить еще generic O для типа объекта и сделать что-то вроде ()=>O[T] ?

  • @vladislavbogomolov7630
    @vladislavbogomolov7630 Год назад

    Жаль конечно ты положил болт на канал, огромный потенциал у тебя... Считаю умнее ход был был если продолжал канал и донатил, но это всего мое мнение. Любой конфликт заканчивается, всего тебе и твой стране хорошого и спасибо за предыдущие видео!

  • @Zubbol
    @Zubbol 2 года назад

    привет! можешь разобрать webpack? его основные возможности и способы их реализации

  • @user-rj6ro3mp1p
    @user-rj6ro3mp1p 2 года назад

    Завтра нужно еще раз посмотреть, иначе к утру из головы вытряхнется что-нибудь.😂

  • @aleksandrkim550
    @aleksandrkim550 2 года назад

    3:28 зачем кастинг использовать? можно же просто протипизировать ( tasks: ITask[ ] ) => Required [ ]. Если пишешь return {} as SomeType то через недельку что то может поменяться и код станет невалидным, так как ты внаглую присвоил тип

  • @yevheniia_r
    @yevheniia_r Год назад +1

    Як у тебе справи? Дякую за відео

  • @Veremey
    @Veremey Год назад

    Офігенська шпоргалка! Спасибі.

  • @user-wv9ds4ft6d
    @user-wv9ds4ft6d Месяц назад

    Что-то я смотрю одной мне непонятна разница между Omit и Exclude. несколько раз пересмотрела и совершенно не увидела разницы. Что тот что тот исключает ключи из первого объекта и только те, которые переданы во втором

  • @romko-romario
    @romko-romario Год назад

    Це туторіали топ-рівня, надзвичайно допомогли! Особливо коли опинився на проєкті, де TS.

  • @alexeyilin1527
    @alexeyilin1527 2 года назад +2

    type или interface?

    • @yee213
      @yee213 2 года назад

      Я так понимаю, чтобы utility types использовать, это только через type, через interface не получится

  • @mouratibraguimov7964
    @mouratibraguimov7964 2 года назад

    Вечером жди грузчиков. Принесут мой респект.

  • @ilovecameltoe
    @ilovecameltoe 2 года назад +5

    не души плиз. моргай хоть иногда))

    • @wisejs
      @wisejs  2 года назад +1

      😂😂😂

  • @alexcebotov5052
    @alexcebotov5052 2 года назад +1

    Зачем писать Date | undefined если isCompleted кже опционально

  • @crazylittlehorse2860
    @crazylittlehorse2860 2 года назад +1

    TypeError: user.blink is not a function

  • @yuriiboiko679
    @yuriiboiko679 Год назад

    cool, but too too fast - need to pause and go back for 5-10 sec every 5-10 sec )

  • @user-sv1ze9gk3b
    @user-sv1ze9gk3b 2 года назад

    👉 Этот комментарий создан в качестве уважения автору и для продвижения его канала.
    heroky

  • @mrakov
    @mrakov 2 года назад

    Жалко инфера не было

    • @wisejs
      @wisejs  2 года назад +1

      Про infer есть отдельный видос на канале

  • @dogfrogfog
    @dogfrogfog 2 года назад +1

    completedDate?: Date | undefined !== completedDate?: Date ? зач лишнее писать

  • @user-ki3no7in5k
    @user-ki3no7in5k 2 года назад

    Дякую. Перемоги нам

    • @wisejs
      @wisejs  2 года назад +1

      Тільки так! Перемоги нам!