อ็อบเจ็กต์ภายในอ็อบเจ็กต์ใน 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
    }
  }
}

สร้างอินเตอร์เฟซที่อธิบายโครงสร้าง ของอ็อบเจ็กต์นี้ นำอ็อบเจ็กต์ที่ซ้อนอยู่ ออกมาเป็นอินเตอร์เฟซแยกต่างหาก