Back to questions
Middle
4
В чём разница между interface и type в TypeScript?
Companies where asked
Лантан
Answer from AI
sobes.tech AI
В TypeScript interface и type часто используются для описания формата объектов, но между ними есть отличия:
- interface предназначен для описания структуры объектов и может расширяться (extends) и объединяться (declaration merging). Это удобно для описания контрактов и API.
- type более универсален: позволяет создавать алиасы для примитивов, объединений, пересечений, кортежей и других типов, кроме объектов.
Пример:
interface IUser {
name: string;
age: number;
}
type ID = string | number;
type User = {
name: string;
age: number;
};
Основное отличие — interface можно расширять и объединять объявления, а type — нет. В новых версиях TypeScript возможности type расширились, но для описания объектов с возможностью расширения интерфейсы часто предпочтительнее.