PassFront
  1. PassFront
  2. База знаний
  3. Основы TypeScript

Какую типизацию имеет TypeScript?

Основы TypeScript

У TypeScript статическая, структурная и постепенная типизация с выводом типов.

Свойства

  • Статическая — типы проверяются при компиляции, а не во время работы.
  • Структурная — совместимость определяется формой объекта, а не именем типа:
interface Point { x: number; y: number }
const p = { x: 1, y: 2 };
const point: Point = p; // ок, хотя p не объявлен как Point
  • Постепенная (gradual) — можно оставлять части кода без типов (any) и добавлять их по мере миграции.
  • С выводом типов — компилятор сам определяет типы переменных и возвращаемых значений.
  • Сильная, но не абсолютная — any, as и неточные типы библиотек позволяют обойти проверки.

Сравнение

В отличие от Java и C#, где типизация номинальная (важно имя класса), в TS два разных интерфейса с одинаковой формой взаимозаменяемы.

Коротко для собеседования

Статическая структурная постепенная типизация с выводом типов; типы стираются при компиляции.

Подробнее: TypeScript Handbook — Type Compatibility

Другие вопросы раздела