Встречается на собеседованиях • сегодня
Дублируют ли друг друга type и interface в TypeScript
type и interface в TypeScript во многом похожи, но есть ключевые различия:
- Расширение
interfaceможно расширять черезextends, аtype— через&(интерсекшн).tsinterface A { x: number } interface B extends A { y: string } type C = { x: number } type D = C & { y: string }
-
Объединение
interfaceподдерживает автоматическое мержинг (объявление с тем же именем дополняет тип).tsinterface Foo { x: number } interface Foo { y: string } // Foo = { x: number, y: string }typeтак не работает — дублирование вызовет ошибку. -
Примитивы и сложные типы
typeможет описывать примитивы, юнионы, кортежи и т.д., аinterface— только объекты.tstype ID = string | number type Coord = [number, number]
Когда что использовать?
interface— для объектов и API (лучше для публичных типов, например, в библиотеках).type— для сложных типов, юнионов, кортежей или когда нужна компактность.
В остальном они взаимозаменяемы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы