Objekto struktūros kontrolė TypeScript

TypeScript taip pat kontroliuoja objekto struktūrą. Tarkime, mes deklaravome savo objektą su vartotoju:

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

Deklaravimo metu TypeScript įsimena, kad mūsų objekte yra raktai 'name' ir 'age', o tada kontroliuoja, kad kintamajame būtų saugomas būtent objektas su šiais raktais.

Bandymas įrašyti į kintamąjį kitą objektą sukelia kompiliavimo klaidą. Pabandykime. Įrašykime į kintamąjį objektą, kuriame trūksta rakto:

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

Įrašykime į kintamąjį naują objektą su tokiais paciais raktais, bet dar ir su papildomu raktu:

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

O dabar įrašykime į kintamąjį objektą, kuriame yra tik raktai 'name' ir 'age':

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

Nepaleisdami kodo nustatykite, koks bus vykdymo rezultatas:

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

Nepaleisdami kodo nustatykite, koks bus vykdymo rezultatas:

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