Các Getter của Accessor trong OOP trong JavaScript
Hãy cùng phân tích chi tiết hơn về việc áp dụng các getter của thuộc tính accessor. Giả sử chúng ta có lớp sau với một thuộc tính private:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Hãy tạo trong lớp này một thuộc tính công khai
name,
mà có thể đọc được,
nhưng không thể ghi được:
class User {
#name;
constructor(name) {
this.#name = name;
}
get name() {
return this.#name;
}
}
Hãy kiểm tra hoạt động. Tạo một đối tượng của lớp chúng ta, truyền cho nó tham số giá trị tên:
let user = new User('john');
Và bây giờ hãy đọc tên thông qua thuộc tính công khai:
let name = user.name;
console.log(name);
Còn việc thử ghi tên sẽ dẫn đến lỗi, như chúng ta muốn đạt được:
user.name = 'eric';
Hãy triển khai các getter accessor cho
các thuộc tính của lớp Employee.