Аб'екты ў аб'ектах у TypeScript
Аб'екты могуць утрымліваць у сабе іншыя аб'екты, якія апісваюцца асобінымі інтэрфейсамі. Давайце паглядзім на прыкладах.
Хай у нас ёсць інтэрфейс, які апісвае аб'ект з горадам:
interface City {
name: string
}
Зробім таксама інтэрфейс, які апісвае карыстальніка. Пры гэтым у карыстальніка будзе імя, узрост і горад, які ў сваю чаргу з'яўляецца аб'ектам:
interface User {
name: string,
age: number,
city: City
}
Давайце створым аб'ект з карыстальнікам:
let city: City = {name: 'london'};
let user: User = {name: 'john', age: 30, city: city};
Не абавязкова для горада ствараць асобную зменную:
let user: User = {
name: 'john',
age: 30,
city: {name: 'london'}
};
Дадзены аб'ект:
let employee {
name: 'andrew',
potision: {
name: 'programmer'
salary: 1000,
},
addr: {
country: 'belarus',
city: 'minsk'
}
};
Зрабіце інтэрфейс, які апісвае структуру гэтага аб'екта. Вынясіце ўкладзеныя аб'екты ў асобныя інтэрфейсы.
Дадзены аб'ект:
let user: User = {
name: 'john',
age: 30,
parents: {
mother: {
name: 'jane',
age: 30,
parents: null
},
father: {
name: 'eric',
age: 30,
parents: null
}
}
}
Зрабіце інтэрфейс, які апісвае структуру гэтага аб'екта. Вынясіце ўкладзеныя аб'екты ў асобныя інтэрфейсы.