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