【发布时间】:2021-12-30 02:02:15
【问题描述】:
class Employee {
constructor(name, age) {
this._name = name;
this.age = age;
}
doWork() {
return `${this._name} is working`;
}
get name() {
return this._name.toUpperCase();
}
set name(newName){
if(newName){
this._name = newName;
}
}
}
let man = new Employee('A', 10);
console.log(man.name, man.age);
man.name = 'B';
man.age = 20;
console.log(man.name, man.age);
这是我的代码。我为_name 成员创建了getter 和setter。我没有为age 创建getter 和setter。
但是两者都可以像这样man.name = 'B';man.age = 20;
所以我很困惑,getter 和 setter 在 JavaScript 中是必需的吗?
【问题讨论】:
-
是的,它们有时是必要的。如果您的代码中不需要它们,请不要使用它们。
-
从角度来看,这个问题在 this question 中针对 Java 得到了回答。有些方面是相似的。
标签: javascript