PassFront
  1. PassFront
  2. База знаний
  3. Типы и интерфейсы

В каких случаях применяются интерфейсы в TypeScript?

Типы и интерфейсы

Интерфейсы в TypeScript применяют для описания формы объектов: данных, props, публичного API классов и библиотек.

Типичные случаи

  • Данные и сущности:
interface User { id: string; name: string; email?: string }
  • Props компонентов и параметры функций-опций.
  • Контракты классов через implements:
interface Logger { log(message: string): void }
class ConsoleLogger implements Logger {
  log(message: string) { console.log(message); }
}
  • Расширение через extends: interface Admin extends User { role: 'admin' }.
  • Расширение чужих типов через слияние объявлений — например, добавить поле в Window или Request из библиотеки.

Когда лучше type

Объединения ('a' | 'b'), кортежи, типы функций, вычисляемые типы (Pick, mapped, условные) — только через type.

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

Интерфейсы — для формы объектов, props, контрактов классов и расширения чужих типов через слияние; объединения и вычисляемые типы — через type.

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

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