การเชื่อมต่อเมธอดแบบลูกโซ่ใน OOP ใน JavaScript
สามารถทำให้เมธอดสามารถถูกเรียกต่อกันเป็นลูกโซ่ได้ สำหรับการนี้แต่ละเมธอดดังกล่าวจะต้องส่งคืน this ลองมาทดสอบกัน เพิ่มโค้ดที่เกี่ยวข้องในเซ็ตเตอร์ของคลาสของเรา:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
return this;
}
setSurn(surn) {
this.#surn = surn;
return this;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
ตอนนี้เซ็ตเตอร์ของเราสามารถถูกเรียกต่อกันเป็นลูกโซ่ได้ มาลองทดสอบกัน สร้างอ็อบเจ็กต์ของคลาสของเรา:
let user = new User;
เรียกเซ็ตเตอร์ของเราเป็นลูกโซ่:
user.setName('john').setSurn('smit');
ตรวจสอบว่าคุณสมบัติได้เปลี่ยนค่าแล้ว:
console.log(user.getName());
console.log(user.getSurn());
ทำให้เซ็ตเตอร์ของคลาส Employee สามารถถูกเรียกเป็นลูกโซ่ได้