อ็อบเจ็กต์ภายในอ็อบเจ็กต์ใน 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
}
}
}
สร้างอินเตอร์เฟซที่อธิบายโครงสร้าง ของอ็อบเจ็กต์นี้ นำอ็อบเจ็กต์ที่ซ้อนอยู่ ออกมาเป็นอินเตอร์เฟซแยกต่างหาก