Пропустить до содержимого

Стираемые структурные типы

В TypeScript объекты не обязаны точно соответствовать определённому типу. Например, если создать объект, который удовлетворяет требованиям интерфейса, его можно использовать там, где требуется этот интерфейс, даже если между ними не была явно установлена связь. Пример:

type NameProp1 = {
prop1: string;
};
function log(x: NameProp1) {
console.log(x.prop1);
}
const obj = {
prop2: 123,
prop1: 'Origin',
};
log(obj); // Valid