Объектҳо дар объектҳо дар TypeScript

Объектҳо метавонанд объектҳои дигарро дар бар гиранд, ки бо интерфейсҳои ҷудогона тавсиф мешаванд. Биёед ба мисолҳо назар кунем.

Бигзор мо интерфейсе дошта бошем, ки объекти шаҳрро тавсиф мекунад:

typescriptinterface City {
  name: string
}

Биёед инчунин интерфейсе созем, ки корбариро тавсиф мекунад. Дар ин ҳол корбар ном, син ва шаҳрро хоҳад дошт, ки худ объект аст:

typescriptinterface User {
  name: string,
  age: number,
  city: City
}

Биёед объекте бо корбар созем:

typescriptlet city: City = {name: 'london'};
let user: User = {name: 'john', age: 30, city: city};

Аз рӯи зарурат нест, ки барои шаҳр тағирёбандаи ҷудогона созем:

typescriptlet user: User = {
  name: 'john',
  age: 30,
  city: {name: 'london'}
};
Задание 1

Объект дода шудааст:

typescriptlet employee {
  name: 'andrew',
  potision: {
    name: 'programmer'
    salary: 1000,
  },
  addr: {
    country: 'belarus',
    city: 'minsk'
  }
};

Интерфейсе созед, ки сохтори ин объектро тавсиф мекунад. Объектҳои дархостшударо ба интерфейсҳои ҷудогона баред.

Задание 2

Объект дода шудааст:

typescriptlet user: User = {
  name: 'john',
  age: 30,
  parents: {
    mother: {
      name: 'jane',
      age: 30,
      parents: null
    },
    father: {
      name: 'eric',
      age: 30,
      parents: null
    }
  }
}

Интерфейсе созед, ки сохтори ин объектро тавсиф мекунад. Объектҳои дархостшударо ба интерфейсҳои ҷудогона баред.