Kontrola struktury objektu v TypeScript
TypeScript také kontroluje strukturu objektu. Předpokládejme, že jsme deklarovali náš objekt s uživatelem:
let user = {name: 'john', age: 30};
V okamžiku deklarace TypeScript zapamatuje,
že v našem objektu jsou klíče 'name'
a 'age', a poté kontroluje, aby
v proměnné byl uložen objekt právě s těmito
klíči.
Pokus zapsat do proměnné jiný objekt vede k chybě kompilace. Zkusme to. Zapišme do proměnné objekt, ve kterém chybí klíč:
user = {name: 'eric'}; // chyba
Zapišme do proměnné nový objekt se stejnými klíči, ale ještě s navíc klíčem:
user = {name: 'eric', age: 40, salary: 300}; // chyba
A nyní zapišme do proměnné objekt,
obsahující pouze klíče 'name' a
'age':
user = {name: 'eric', age: 40}; // funguje
Bez spuštění kodu určete, jaký bude výsledek provedení kodu:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Bez spuštění kodu určete, jaký bude výsledek provedení kodu:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};