Objektin rakenteen valvonta TypeScriptissä
TypeScript valvoo myös objektin rakennetta. Oletetaan, että olemme julistaneet käyttäjäobjektimme:
let 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:
user = {name: 'eric'}; // virhe
Tallennetaan muuttujaan uusi objekti samoilla avaimilla, mutta myös ylimääräisellä avaimella:
user = {name: 'eric', age: 40, salary: 300}; // virhe
Tallennetaan nyt muuttujaan objekti,
jossa on vain avaimet 'name' ja
'age':
user = {name: 'eric', age: 40}; // toimii
Määritä suorittamatta koodia, mikä on koodin suorituksen tulos:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Määritä suorittamatta koodia, mikä on koodin suorituksen tulos:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};