В чём особенность TypeScript?
Основы TypeScript
Главная особенность TypeScript — статическая структурная типизация поверх JavaScript, которая полностью исчезает после компиляции.
Особенности
- Надмножество JS — любой корректный JavaScript почти всегда корректный TypeScript, переходить можно постепенно.
- Структурная типизация — совместимость определяется формой объекта, а не именем типа.
- Вывод типов — многое понятно без аннотаций:
const n = 5ужеnumber. - Сужение типов — после проверки
typeof,in, сравнения поля тип уточняется. - Мощная система типов — объединения, дженерики, условные и mapped-типы, шаблонные строковые типы.
- Стирание типов — в рантайме их нет, поэтому данные извне нужно валидировать.
type Point = { x: number; y: number };
const p = { x: 1, y: 2, label: 'A' };
function draw(point: Point) {}
draw(p); // ок: форма подходитКоротко для собеседования
TypeScript — надмножество JS со структурной типизацией, выводом и сужением типов и выразительной системой типов, которая стирается при компиляции.
Подробнее: TypeScript Handbook