Какие есть типы в TS, помимо типов JS

«Какие есть типы в TS, помимо типов JS» — вопрос из категории TypeScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

TypeScript расширяет JavaScript, добавляя дополнительные типы:

  1. Union Types - объединение типов через |:
let id: string | number;
  1. Intersection Types - пересечение типов через &:
type Admin = Person & { permissions: string[] };
  1. Tuple - фиксированный массив с определенными типами элементов:
let coordinates: [number, number];
  1. Enum - перечисление именованных констант:
enum Direction { Up, Down, Left, Right }
  1. Literal Types - конкретные значения как тип:
let status: 'active' | 'inactive';
  1. Any/Unknown - any отключает проверку типов, unknown требует явного приведения.

  2. Never - тип для функций, которые никогда не завершаются.

  3. Void - отсутствие возвращаемого значения.

  4. Type Aliases - псевдонимы для типов:

type Point = { x: number, y: number };