Назад к вопросам
Middle+
3
Чем отличается type от interface в TypeScript?
Компании, где спрашивали
Банк Ренессанс
Ответ от нейросети
sobes.tech AI
В TypeScript type и interface имеют схожие цели — описывать типы, но есть отличия:
- interface предназначен для описания структуры объектов и может быть расширен (extends) или реализован (implements) классами.
- type — более универсальный, позволяет создавать алиасы для примитивов, объединений, пересечений и других типов.
Пример:
interface IUser {
name: string;
age: number;
}
type ID = string | number;
// interface можно расширять
interface IEmployee extends IUser {
salary: number;
}
// type можно комбинировать
type Employee = IUser & { salary: number };
Также интерфейсы поддерживают декларативное слияние (declaration merging), а типы — нет.
В целом, для описания объектов часто рекомендуют interface, для сложных типов — type.