อ็อบเจ็กต์ภายในคลาสใน OOP ใน JavaScript
ในคลาสสามารถใช้อ็อบเจ็กต์ ของคลาสอื่นได้ มาดูตัวอย่างกัน สมมติว่าเราต้องการสร้างผู้ใช้ ที่มีชื่อและนามสกุล พร้อมกับ เมืองที่เขาอาศัยอยู่ สมมติว่าเรามีคลาสต่อไปนี้ สำหรับเมือง:
class City {
constructor(name) {
this.name = name;
}
}
เราจะส่งชื่อ นามสกุล และเมือง เป็นพารามิเตอร์ให้กับ คอนสตรักเตอร์:
class User {
constructor(name, surn, city) {
this.name = name;
this.surn = surn;
this.city = city;
}
}
โดยชื่อและนามสกุลจะเป็น สตริง แต่เมืองจะเป็นอ็อบเจ็กต์ ของคลาสแยกต่างหาก:
let city = new City('luis');
let user = new User('john', 'smit', city);
มาลองแสดงชื่อของผู้ใช้ของเรากัน:
console.log(user.name);
ตอนนี้มาแสดงชื่อเมือง สำหรับผู้ใช้ของเรากัน:
console.log(user.city.name);
กำหนดคลาสต่อไปนี้:
class Employee {
constructor(name, position, department) {
this.name = name;
this.position = position;
this.department = department;
}
}
ทำให้พารามิเตอร์ที่สองและสาม รับอ็อบเจ็กต์ของคลาสแยกต่างหาก
สร้างอ็อบเจ็กต์พนักงานโดยใช้ คลาสจากโจทย์ก่อนหน้า
แสดงชื่อ ตำแหน่ง และแผนกของพนักงานที่สร้างขึ้นในคอนโซล