Kontrola strukture objekta u TypeScript-u

TypeScript takođe kontroliše strukturu objekta. Recimo da smo deklarisali naš objekat sa korisnikom:

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

U trenutku deklaracije TypeScript zapamti, da u našem objektu postoje ključevi 'name' i 'age', a zatim kontroliše, da u promenljivoj bude sačuvan objekat upravo sa tim ključevima.

Pokušaj da se u promenljivu upiše drugi objekat dovodi do greške pri kompilaciji. Hajde da probamo. Upišimo u promenljivu objekat u kom nedostaje ključ:

typescriptuser = {name: 'eric'}; // greška

Upišimo u promenljivu novi objekat sa istim ključevima, ali još i sa dodatnim ključem:

typescriptuser = {name: 'eric', age: 40, salary: 300}; // greška

A sada upišimo u promenljivu objekat koji sadrži samo ključeve 'name' i 'age':

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

Bez pokretanja koda odredite kakav će biti rezultat izvršavanja koda:

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

Bez pokretanja koda odredite kakav će biti rezultat izvršavanja koda:

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