TypeScript победил. И вот что это нам дало.
Спор окончен. TypeScript победил. Новые проекты используют его по умолчанию.
Изначально его предлагали как способ отлавливать опечатки до того, как они сломают ваш код. Но реальная ценность гораздо выше.
Типы служат документацией, которая никогда не устаревает. Сигнатура функции точно говорит вам, что нужно отправить и что вы получите в ответ. Если вы добавите новый вариант в список, компилятор заставит вас обновить каждую часть вашего кода. Комментарий же просто будет висеть и лгать вам.
Рефакторинг становится безопасным. В старом JavaScript-коде переименование поля напоминает игру в рулетку. Вы ищете строки и надеетесь на лучшее. В TypeScript вы меняете тип, и компилятор выдает вам список дел со всеми сломанными строками. Рефакторинг больше не пугает. Это просто задача.
Типы также делают ИИ-ассистентов лучше.
Если вы попросите ИИ отредактировать нетипизированный JavaScript, ему придется угадывать структуру. Если же вы используете TypeScript, тип служит спецификацией. ИИ знает, что допустимо. Если ИИ совершит ошибку, компилятор тут же ее поймает. Вы не получите падение продакшена в 2 часа ночи. Вы получите красную линию в редакторе.
Типы не замедляют вас. В мире ИИ они, наоборот, ускоряют вас. Они работают как ограничители, позволяя вам доверять сгенерированному коду.
Пишите типы осознанно:
• Используйте объединения (unions) вместо нескольких булевых значений. Статус вроде "loading" | "error" | "ready" лучше, чем три флага, которые могут противоречить друг другу.
• Давайте имена типам вашей предметной области. Используйте type Cents = number, чтобы выразить свои намерения.
• Избегайте any. Вместо этого используйте unknown и сужайте тип. any создает дыру в вашей сети безопасности.
• Позвольте работать выводу типов (inference). Вам не нужно помечать всё подряд. Обозначайте границы, такие как сигнатуры функций, и позволяйте остальному определяться автоматически.
TypeScript сделал больше, чем просто отлов опечаток. Он создал строгие контракты. Эти контракты позволяют проводить бесстрашный рефакторинг и использовать надежные ИИ-инструменты.
Мы начали использовать типы, чтобы предотвращать баги. Мы продолжаем их использовать, потому что они являются фундаментом для всего остального.
Источник: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-12m8
