TypeScript - Union типы и TypeGuards

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

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

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

    Когда я понял почему функция возврата должна возвращать тип res is Success. Я почувствовал себя тем парнем из мема, у которого мозг взрывается от осознания космоса. Часто сталкивался с проблемой, что при создании условия, которое должно распределять чем именно является значение, тайпскрипт всё равно продолжал ругаться, будто не замечал условия. Теперь понял как это должно было выглядеть на самом деле. Благодарю вас

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

      😂

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

      Согласен - отличное объяснение, может даже лучше, чем в документации 😂

  • @Ева-й7х8м
    @Ева-й7х8м 2 года назад +3

    Спасибо, качественно! 👌

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

    Очен полезные детали и хороши передача, от меня Subscribe

  • @cheerfulday1873
    @cheerfulday1873 9 месяцев назад +1

    Thanks a lot

  • @Max.Kozlov
    @Max.Kozlov 2 года назад +1

    Ура, новое видео!

  • @АлександрЕлагин-м2ю
    @АлександрЕлагин-м2ю 2 года назад +2

    спасибо за видео, так скоро и половину материала из курса на юдеми переснимете по тс

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

      Я стараюсь дополнять основные сложные моменты)

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

    Качественно

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

    Tnx

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

    6:16 - 6:23
    Вся ценность видео.

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

    спасибо пупсик

  • @OleksiiMalichenko
    @OleksiiMalichenko 2 года назад +6

    Го модуль в юдеми по vim и его кастомизации!

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

      Следующее видел будет как раз по Vim)

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

    Можешь скинуть свой конфиг неовима, пожалуйста? Уж очень заходит, как тут всё выглядит

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

      Тут есть разбор ruclips.net/video/LKnuIazeiM4/видео.html

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

      @@PurpleSchool спасибо🙏

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

    Не очень понял, все-таки чем отличаются type guard от сужения.

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

      TypeGuard это по сути функция, которая реализует сужение типов.

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

    Спасибо за урок) По идее, ничего ж не должно поменяться, если вместо res is Success использовать просто boolean .... в функции process все также будет отрабатывать. В чем тогда преимущество использования res is Success ?

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

      Как раз в это отличие, так как во многих случаях boolean работать не будет. Для этого как раз и есть такое описание типов.

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

    где ваши ученики ?)))

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

      Ссылки на канал в Telegram и сайт школы в описании. Вопросы обычно задают в чате школы или Tg.
      purpleschool.ru

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

    Через typeof нельзя проверить массив и тем более кастомный тип

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

      Да, их надо через isArray или свойство как я показываю в видео. Typeof только для простых типов

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

      Это обычный предикат, тут как собака увидев баобаб!

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

    в interface можно указывать конкретные значения вместо типов: interface Success { res: 'success' } ???
    почему бы вместо res не написать просто r, это ещё универсальней (может быть): result, response, request, ...

  • @АлександрЕлагин-м2ю

    instanceof же есть для проверки типа ,зачем писать функции проверки типов,мне не ясно,а для проверки строк, чисел и т.д. есть уже функции проверки

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

      Instanceof проверяет, принадлежит ли объект к определённому классу. То есть без инициализации класса он всегда будет false. Это частая ошибка проверок. Если мы работаем с объектом, то проверять можно лишь по свойствам.

    • @АлександрЕлагин-м2ю
      @АлександрЕлагин-м2ю 2 года назад

      @@PurpleSchool спасибо за ответ

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

      @@АлександрЕлагин-м2ю не за что!)

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

    const isResSuccess = (res: ResType): res is Success => res.res === 'success' ? Зачем тут if вообще? res.res === 'success' и так вернёт либо true либо false