TypeScript 4.9 - satisfies, улучшение in и NaN

preview_player
Показать описание
Новый оператор и улучшение типизации. Всё что нужно знать о новом релизе TypeScript 4.9.

🔗 Ссылки:

⚡ Мои курсы

Разделы видео:
0:00 - Введение
0:11 - satisfies и его использование
5:12 - улучшение оператора in
8:25 - сравнение с NaN
9:28 - Заключение
Рекомендации по теме
Комментарии
Автор

все пишут, что понравилось свойство satisfies, я же считаю что оно ломает типобезопасность ts. в тот же тип/интерфейс ErrorData можно передать пару дженериков с дефолтными значениями, а дальше если мы УВЕРЕНЫ в том, что там определенные типы — прокидываем дженерик, и вы в профите. только не забудьте провалидировать данные тем же zod :)
возможно пример в ролике не самый удачный, даешь настоящие юзкейсы с satisfies! а то выглядит как костыль, который будет наравне с any ломать строгую типизацию %D

ДаниилБенгер
Автор

Отличный ролик. Понравилось свойство statisfies. Еще бы сделать разбор вышедней недавно версии node 18 и next 13. Например как прикрутить проверку на типы в turbopack, оказывается он при билде не проверяет типы typescript )

dsbasko
Автор

Классный материал. Смущает исполнение оператора == а не ===

Kulibins
Автор

Предпоследнее улучшение с in была реальная боль.

---Maksim---
Автор

Наконец то догнал зачем можно можно было бы использовать satisfies. Он что то вроде проверки структуры. Потому что ранее не получалось его применять и все эти проверки на типы были достаточно утомительны

Лаурахит
Автор

Оператор интересный, но пример странный Разве использование проверки === 'string' не является в данном случае вполне логичным перед преобразования в нижний регистр?

NofaceAndrew
Автор

А для чего делать двойное отрицаиние вместо простой проверки на true в выражениие typeof data == "object" && !!data ?

zergzerg
Автор

Полезная фича, но с числом/строкой пример слегка натянутый, (value + "").toLowerCase() решит все проблемы. Но порой бесит такое явное приведение типов, особенно в каких-нибудь нативных функциях, которые принимают всё.

ilya
Автор

Всегда интересовало почему нет какого-то оператора автоматического принадлежности к определенному подтипу в случае если его можно вычленить - в этом же примере с типами a, b, c компилятор сам мог бы догадаться что надо проверить отличающееся свойство а кодер бы писал что то типа если переменная является типа такого-то

jgkdmdevienjjgg
Автор

4:55 "крайне рекомандрую" или все же "НЕ рекомендую"?

NO
Автор

смотрю нас вас ) и всё больше возникает желание вернуться к вс код ) просто потому что там нормально типы подсвечиваются )

mkonin
Автор

Кажется у тебя игровая комната, которой бы позавидовали твои дети)

chirkov
Автор

странно что Вы используете двойные равно. линтер требует тройные.

romanmed