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:
let 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:
user = {name: 'eric'}; // erro
Atribuiremos à variável um novo objeto com as mesmas chaves, mas com uma chave extra:
user = {name: 'eric', age: 40, salary: 300}; // erro
E agora atribuiremos à variável um objeto
contendo apenas as chaves 'name' e
'age':
user = {name: 'eric', age: 40}; // funciona
Sem executar o código, determine qual será o resultado da execução do código:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Sem executar o código, determine qual será o resultado da execução do código:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};