Structura obiectului în TypeScript

Putem să nu ne bazăm pe TypeScript în ceea ce privește definirea structurii obiectului, ci să o specificăm ca tip atunci când declarăm variabila.

Să spunem, de exemplu, la declararea variabilei user că este un obiect, în câmpul 'name' al căruia se stochează - un șir de caractere, iar în câmpul 'age' - un număr:

typescriptlet user: {name: string, age: number};

Să scriem acum în variabila noastră obiectul corespunzător:

typescriptuser = {name: 'john', age: 30};

Putem combina ambele operații într-un singur rând: să declarăm obiectul și să-i atribuim imediat valoarea:

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

După aceasta, TypeScript va prelua controlul asupra structurii și tipurilor de date ale obiectului și va afisa o eroare atunci când se încearcă modificarea ceva într-un mod incorect. Exemplu:

typescriptuser.name = 123; // eroare
Задание 1

Fără a rula codul, determinați care va fi rezultatul executării codului:

typescriptlet date: {year: number, month: number, day: number};
date = {year: 2025, month: 12, day: '01'};