Objektin rakenteen valvonta TypeScriptissä
TypeScript valvoo myös objektin rakennetta. Oletetaan, että olemme julistaneet käyttäjäobjektimme:
typescriptlet user = {name: 'john', age: 30};
Julistuksen yhteydessä TypeScript muistaa,
että objektissamme on avaimet 'name'
ja 'age', ja sen jälkeen valvoo, että
muuttujassa säilytetään objektia juuri näillä
avaimilla.
Yritys tallentaa muuttujaan toinen objekti johtaa kääntäjävirheeseen. Kokeillaan. Tallennetaan muuttujaan objekti, josta puuttuu avain:
typescriptuser = {name: 'eric'}; // virhe
Tallennetaan muuttujaan uusi objekti samoilla avaimilla, mutta myös ylimääräisellä avaimella:
typescriptuser = {name: 'eric', age: 40, salary: 300}; // virhe
Tallennetaan nyt muuttujaan objekti,
jossa on vain avaimet 'name' ja
'age':
typescriptuser = {name: 'eric', age: 40}; // toimii
Задание 1
Määritä suorittamatta koodia, mikä on koodin suorituksen tulos:
typescriptlet date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Задание 2
Määritä suorittamatta koodia, mikä on koodin suorituksen tulos:
typescriptlet date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};