Встроенное описания типа

Вместо создания нового interface вы можете описать все, что вы хотите встроенно, используя :{ /*Structure*/ }. Предыдущий пример представлен снова уже как встроенный тип:

var name: {
    first: string;
    second: string;
};
name = {
    first: 'John',
    second: 'Doe',
};
 
name = {
    // Ошибка : `second` отсутствует
    first: 'John',
};
name = {
    // Ошибка : `second` имеет неправильный тип
    first: 'John',
    second: 1337,
};

Встроенные типы отлично подходят для быстрого однократного предоставления описания для чего-либо. Это избавляет вас от необходимости придумывать (потенциально плохое) имя типа. Однако, если вы обнаружите, что вставляете одно и то же встраиваемое описание типа несколько раз, неплохо было бы подумать о рефакторинге его в интерфейс (или псевдоним типа, описанный далее в этом разделе).