Kontrola štruktúry objektu v TypeScript
TypeScript tiež kontroluje štruktúru objektu. Povedzme, že sme deklarovali náš objekt s používateľom:
let 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ľúč:
user = {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:
user = {name: 'eric', age: 40, salary: 300}; // chyba
A teraz zapíšme do premennej objekt,
obsahujúci iba kľúče 'name' a
'age':
user = {name: 'eric', age: 40}; // funguje
Bez spustenia kódu určte, aký bude výsledok vykonania kódu:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Bez spustenia kódu určte, aký bude výsledok vykonania kódu:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};