Sobes.tech
Назад к вопросам
Middle
3

Где можно использовать interface, но нельзя использовать type?

Компании, где спрашивали
МТС БанкМТС Банк

Ответ от нейросети

sobes.tech AI

В TypeScript интерфейсы (interface) можно использовать для декларации типов объектов и классов, и они поддерживают декларативное объединение (declaration merging). Это значит, что если объявить несколько интерфейсов с одинаковым именем, они автоматически объединятся в один.

Пример:

interface User {
  name: string;
}

interface User {
  age: number;
}

const user: User = { name: "Alice", age: 30 };

Такого поведения у type нет — попытка объявить несколько типов с одним именем приведёт к ошибке.

Итого, interface можно использовать там, где нужно расширять или дополнять типы через декларативное объединение, например, при расширении типов из сторонних библиотек или для декларации API, где интерфейсы могут дополняться в разных местах кода. type не поддерживает такое объединение и подходит для более сложных типов, объединений и пересечений, но не для декларативного расширения.