Objektit objekteissa TypeScriptissä
Objektit voivat sisältää muita objekteja, joita kuvataan erillisillä rajapinnoilla. Katsotaanpa esimerkkien avulla.
Oletetaan, että meillä on rajapinta, joka kuvaa kaupunkia kuvaavan objektin:
interface City {
name: string
}
Tehdään myös rajapinta, joka kuvaa käyttäjää. Käyttäjällä on tässä tapauksessa nimi, ikä ja kaupunki, joka puolestaan on objekti:
interface User {
name: string,
age: number,
city: City
}
Luodaan objekti käyttäjästä:
let city: City = {name: 'london'};
let user: User = {name: 'john', age: 30, city: city};
Kaupungille ei ole välttämätöntä luoda erillistä muuttujaa:
let user: User = {
name: 'john',
age: 30,
city: {name: 'london'}
};
Annettu objekti:
let employee {
name: 'andrew',
potision: {
name: 'programmer'
salary: 1000,
},
addr: {
country: 'belarus',
city: 'minsk'
}
};
Tee rajapinta, joka kuvaa tämän objektin rakennetta. Siirrä sisäkkäiset objektit omiksi erillisiksi rajapinnoikseen.
Annettu objekti:
let user: User = {
name: 'john',
age: 30,
parents: {
mother: {
name: 'jane',
age: 30,
parents: null
},
father: {
name: 'eric',
age: 30,
parents: null
}
}
}
Tee rajapinta, joka kuvaa tämän objektin rakennetta. Siirrä sisäkkäiset objektit omiksi erillisiksi rajapinnoikseen.