存取器
24.1 存取器函数不是必须的
24.2 不要使用JavaScript getters / setter,因为它们会导致意想不到的副作用,而且很难测试,维护和推理。相反,如果你想用访问函数,使用getVal()和setVal('hello')。
class Dragon {
get age() {
}
set age(value) {
}
}
class Dragon {
getAge() {
}
setAge(value) {
}
}
23.3 如果你的属性/方法是一个布尔值,使用isVal()
或者hasVal()
if (!dragon.age()) {
return false;
}
if (!dragon.hasAge()) {
return false;
}
23.4 创建set()和get()函数是可以的,但要保持一致
class Jedi {
constructor(options = {}) {
const lightsaber = options.lightsaber || 'blue';
this.set('lightsaber', lightsaber);
}
set(key, val) {
this[key] = val;
}
get(key) {
return this[key];
}
}