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

Чем отличаются типы в TypeScript и как это влияет на код?

Основы TypeScript

В TypeScript есть примитивы, объектные типы и составные типы — от выбора зависит, что компилятор разрешит и проверит.

Виды типов

  • Примитивы: string, number, boolean, bigint, symbol, null, undefined.
  • Литеральные типы: 'ok', 42, true — конкретные значения.
  • Объектные: интерфейсы, type с полями, массивы T[], кортежи [string, number], функции.
  • Объединения и пересечения: A | B, A & B.
  • Особые: any, unknown, never, void.
  • Вычисляемые: дженерики, keyof, условные и mapped-типы.

Как это влияет на код

type Status = 'idle' | 'loading' | 'error';     // вместо string — опечатки невозможны
type Point = readonly [number, number];          // кортеж фиксированной длины, без мутаций
function parse(input: unknown) { /* обязаны проверить */ }
  • узкие типы (литералы, объединения) ловят больше ошибок;
  • unknown заставляет проверять данные, any — отключает проверки;
  • readonly и кортежи фиксируют структуру.

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

Примитивы, литералы, объектные, объединения и пересечения, any/unknown/never/void и вычисляемые типы; чем точнее тип, тем больше ошибок ловит компилятор.

Подробнее: TypeScript Handbook — Everyday Types

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