Типизация функций в TypeScript

Поделиться
HTML-код
  • Опубликовано: 27 май 2024
  • Аннотации функций TypeScript, параметры и возвращаемые значения. Обработка интерфейсов и перегрузки функций.
    00:00 Аннотация функций
    02:51 Необязательные параметры
    03:51 Параметры по умолчанию
    05:19 Непредсказуемое число параметров
    06:08 Интерфейсы и параметры функций
    10:45 Перегрузка функций
    __
    Мои курсы по вебу с купонами:
    ✅ mishanep.com/
    📢 Поддержка канала:
    / mishanep
    www.tinkoff.ru/rm/nepomnyasch...
    paypal.me/mishanep

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

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

    Отличный плейлист по Typescript! Спасибо за ваши видео 🤍

  • @sengokusky1515
    @sengokusky1515 2 года назад +14

    Михаил, если есть такая возможность, используйте, плиз, тёмную тему в редактора:) Думаю, таких оч много, кто по ночам смотрит.
    За материал огромная благодарность, всё очень доступно объясняете, мне нравится.

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

      а мне наоборот заходит светлая тема

    • @mishanep
      @mishanep  2 года назад +7

      Недавно делал опрос на эту тему)) вероятно буду чередовать, последние видео были с тёмной темой

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

      @@mishanep предлагаю чередовать так - одно видео про что-нибудь ненужное в светлой теме, а другие 100 полезных видео в черной теме)

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

    Очень круто! Спасибо

  • @mr.zxzxzxz3816
    @mr.zxzxzxz3816 Год назад +1

    спасибо большое за труд 🔥

  • @user-sq5fr5su3t
    @user-sq5fr5su3t 10 месяцев назад

    спасибо за понятное изложение материала ☺

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

    Понятное объяснение материала! Списки отличаются от кортежей теперь усвоил

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

    Михаил, ты красава, спасибо за качественный контент =)

  • @vadimniziev5489
    @vadimniziev5489 3 года назад

    Спасибо большое!!!

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

    Спасибо!

  • @MrKu39
    @MrKu39 9 месяцев назад

    Все-таки в основной функции (после перегрузок) необходимо полностью указывать и типы параметров(у Вас даже редактор отметил параметр, как недочет) и типы возвращенных значений из функции(указывать any в TS плохо). А в перегрузках расписывать частные случаи работы функции. В документации и различных примерах в интернете именно так, да и по логике это так. Основная функция супер полная с различными входными параметрами и выводами , а перегрузки в виде документации.

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

    Спасибо)

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

    А почему pickCard позволяет тип возвращаемого значения any(13:48), когда до этого строго описаны возвраты либо number либо object ?

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

    Желтые скобки плохо видно, но полезное видео!

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

    Видео помогло правильно типизировать колбеки. Только в последнем примере мне не понравилась запись x.lenght, где х - объект

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

    spasibo

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

    спасибо за плотный разбор.
    вопрос такой - типизация нужна для красоты или все же есть оптимизация памяти как в С?

    • @mishanep
      @mishanep  2 года назад +4

      Об оптимизации речь не идёт. Здесь больше про надёжность приложения, особенно при командной разработке.

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

    разве overload сигнатуры обязаны иметь одинаковое число параметров?
    даже в оф. документации есть пример с разным числом параметров

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

      Нет, не обязаны.

  • @phd-oldremain
    @phd-oldremain 2 года назад

    Подскажите перегрузки можно создавать только через function declaration ? условно const foo = (x: string) => string, const foo = (x: number) => number и т. п . работать же не будет?

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

      На практике встречал только в function declaration и в методах классов.

    • @phd-oldremain
      @phd-oldremain 2 года назад

      @@mishanep Thanks !🙂

  • @user-888azim-97
    @user-888azim-97 2 года назад

    Спасибо! а чем псевдоним отличается от алиаса ? а давайте ещё по тс несколько видео, про Record , Omit, ......... Отлично получается!

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

      Псевдоним и алиас - это одно и то же, синонимы.

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

    Скажите пожалуйста, то что в этом плейлисте есть - это весь TS? А то видел даже буткемпы по TS. Если тут уже все изложено, то что тогда в буткемпах рассказывают так долго)

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

      Нет, конечно. Не весь. Язык постоянно развивается, в нем появляются новые фишки. Плюс много узких мест есть. Но по большому счету - в плей-листе предлагается фундамент. К нему обязательно нужны еще утилиты (никак не запишу по ним видео), ну и опыт конечно. В процессе работы с кодом будут возникать вопросы разного рода. Кроме того, под конкретный инструмент, вроде того же Реакта, понадобится изучать дополнительные типы и разбираться как с ними работать.

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

    Все шло хорошо, но вот здесь началось прям сложновастенько с перегрузами этими, планирую через время ещё раз пересмотреть надеюсь что-то измениться в моих нейронных связях ☺️

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

    Миша лев

  • @_sacred_nature
    @_sacred_nature 10 месяцев назад

    🦝

  • @gnomframe1563
    @gnomframe1563 11 месяцев назад

    попущ в шахматах

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

    Михаил, а история с деструктуризацией данных (10:20) -- это ж ведь баг тайпскрипта? Есть какой-то вариант его избежать, при этом сохраняя использование тайпскрипта (естественно) и деструктуризацию параметров? Или может его уже пофиксили?

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

      Я так понял, что оно специально так сделано. Мотивация такого поведения - если мы создаем объект прямо в момент вызова функции, то он больше нигде использовать не будет. А значит нет нужды записывать к него лишние свойства. Если вы в переменной храните объект, поведение другое.

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

      @@mishanep понял, спасибо