Controle da estrutura de objetos em TypeScript

O TypeScript também controla a estrutura de um objeto. Suponha que declaramos nosso objeto de usuário:

typescriptlet user = {name: 'john', age: 30};

No momento da declaração, o TypeScript memoriza que em nosso objeto existem as chaves 'name' e 'age', e então controla que na variável seja armazenado um objeto exatamente com essas chaves.

A tentativa de atribuir à variável um objeto diferente resulta em um erro de compilação. Vamos tentar. Atribuiremos à variável um objeto no qual falta uma chave:

typescriptuser = {name: 'eric'}; // erro

Atribuiremos à variável um novo objeto com as mesmas chaves, mas com uma chave extra:

typescriptuser = {name: 'eric', age: 40, salary: 300}; // erro

E agora atribuiremos à variável um objeto contendo apenas as chaves 'name' e 'age':

typescriptuser = {name: 'eric', age: 40}; // funciona
Задание 1

Sem executar o código, determine qual será o resultado da execução do código:

typescriptlet date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Задание 2

Sem executar o código, determine qual será o resultado da execução do código:

typescriptlet date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};