Controllo della struttura dell'oggetto in TypeScript

TypeScript controlla anche la struttura dell'oggetto. Supponiamo di aver dichiarato il nostro oggetto utente:

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

Al momento della dichiarazione, TypeScript memorizza che nel nostro oggetto ci sono le chiavi 'name' e 'age', e poi controlla che nella variabile sia memorizzato un oggetto proprio con queste chiavi.

Tentare di assegnare alla variabile un oggetto diverso porta a un errore di compilazione. Proviamo. Assegniamo alla variabile un oggetto in cui manca una chiave:

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

Assegniamo alla variabile un nuovo oggetto con le stesse chiavi, ma anche con una chiave in più:

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

Ora assegniamo alla variabile un oggetto contenente solo le chiavi 'name' e 'age':

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

Senza eseguire il codice, determinate quale sarà il risultato dell'esecuzione del codice:

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

Senza eseguire il codice, determinate quale sarà il risultato dell'esecuzione del codice:

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