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

Какие парадигмы в TypeScript важны на практике и как их применять?

Основы TypeScript

TypeScript мультипарадигменный: поддерживает объектно-ориентированный, функциональный и процедурный стиль.

ООП

Классы, наследование, интерфейсы, модификаторы доступа (private, protected, readonly), абстрактные классы:

abstract class Shape { abstract area(): number }
class Circle extends Shape {
  constructor(private r: number) { super(); }
  area() { return Math.PI * this.r ** 2; }
}

Применяют в сервисах, SDK, Angular, сложных доменных моделях.

Функциональный стиль

Чистые функции, неизменяемость (readonly, as const), композиция, дискриминированные объединения вместо иерархий:

type Shape = { kind: 'circle'; r: number } | { kind: 'square'; a: number };
const area = (s: Shape) => (s.kind === 'circle' ? Math.PI * s.r ** 2 : s.a ** 2);

Типичен для React, Redux, утилит.

Процедурный

Простые функции и модули — скрипты, конфигурация, небольшие утилиты.

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

TS поддерживает ООП (классы, интерфейсы, модификаторы), функциональный стиль (чистые функции, объединения, readonly) и процедурный; на фронтенде чаще функциональный.

Подробнее: TypeScript Handbook — Classes

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