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