Nadzor strukture objekta v TypeScript

TypeScript prav tako nadzira strukturo objekta. Recimo, da smo deklarirali naš objekt z uporabnikom:

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

V trenutku deklaracije TypeScript zapomni, da ima naš objekt ključa 'name' in 'age', nato pa nadzira, da v spremenljivki ostane objekt točno s temi ključi.

Poskus zapisa drugačnega objekta v spremenljivko povzroči napako pri prevajanju. Poskusimo. Zapišimo v spremenljivko objekt, v katerem manjka ključ:

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

Zapišimo v spremenljivko nov objekt z enakimi ključi, vendar še z dodatnim ključem:

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

Zdaj pa zapišimo v spremenljivko objekt, ki vsebuje le ključa 'name' in 'age':

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

Brez zagon kode določite, kakšen bo rezultat izvajanja kode:

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

Brez zagon kode določite, kakšen bo rezultat izvajanja kode:

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