В чём разница между interface и type в TypeScript?

Junior
421 просмотров
AFK Offer AI

interface описывает форму объекта и может расширяться (extends) и дополняться (declaration merging). type более универсален: union types, intersection, примитивы, tuple. Главное практическое отличие: interface можно расширить отдельным объявлением (полезно для augmentation библиотек), type нельзя. Для объектов — обычно interface. Для union/intersection типов — type. В NestJS DTO используют class (не interface/type) чтобы работала рефлексия декораторов.

Следующий вопрос

Реализуй Promise.all — принимает массив промисов, возвращает массив результатов