Kontrola štruktúry objektu v TypeScript

TypeScript tiež kontroluje štruktúru objektu. Povedzme, že sme deklarovali náš objekt s používateľom:

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

V momente deklarácie TypeScript zapamätá, že v našom objekte sú kľúče 'name' a 'age', a potom kontroluje, aby v premennej bol uložený objekt práve s týmito kľúčmi.

Pokus zapísať do premennej iný objekt vedie k chybe kompilácie. Skúsme to. Zapíšme do premennej objekt, v ktorom chýba kľúč:

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

Zapíšme do premennej nový objekt s takými istými kľúčmi, ale ešte aj s nadbytočným kľúčom:

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

A teraz zapíšme do premennej objekt, obsahujúci iba kľúče 'name' a 'age':

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

Bez spustenia kódu určte, aký bude výsledok vykonania kódu:

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

Bez spustenia kódu určte, aký bude výsledok vykonania kódu:

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