Declaration merging объединяет совместимые объявления с одним именем, например несколько interface, в единое описание TypeScript.
Что такое declaration merging в TypeScript, как работает этот механизм и каковы его плюсы и минусы?
Declaration merging объединяет совместимые объявления с одним именем, например несколько interface, в единое описание TypeScript.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Declaration merging объединяет совместимые объявления с одним именем, например несколько interface, в единое описание TypeScript.
Это удобно для расширения типов библиотек и глобальных интерфейсов. Одинаковые свойства должны иметь совместимые по правилам слияния объявления, а type alias таким образом повторно объявлять нельзя. Минус — неочевидное расширение контракта из другого файла; runtime-поведение слияние типов само не добавляет.
Источник: www.typescriptlang.org.