# Объекты в объектах в 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 } } }`

Сделайте интерфейс, описывающий структуру этого объекта. Вынесите вложенные объекты в отдельные интерфейсы.

← →
↑