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

Что такое интерфейсы в TypeScript?

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

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

interface User {
  readonly id: string;    // нельзя изменить
  name: string;
  email?: string;         // необязательное
  greet(): string;        // метод
}

const user: User = {
  id: '1',
  name: 'Анна',
  greet() { return `Привет, ${this.name}`; },
};

Возможности

  • Расширение: interface Admin extends User { role: 'admin' }.
  • Реализация классом: class Customer implements User { … }.
  • Слияние объявлений: интерфейсы с одним именем объединяются.
  • Сигнатуры: индексная ([key: string]: number), вызова, конструктора.

Нюансы

Интерфейсы — только для компилятора: в JavaScript после компиляции их нет, проверить объект по интерфейсу в рантайме нельзя.

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

Интерфейс — описание формы объекта (поля, методы, readonly, необязательные), поддерживает extends, implements и слияние; в рантайме не существует.

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

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