23. 存取器

最后更新于:2022-04-01 21:12:49

* [23.1](https://github.com/yuche/javascript#23.1) 属性的存取函数不是必须的。 * [23.2](https://github.com/yuche/javascript#23.2) 如果你需要存取函数时使用 `getVal()` 和 `setVal('hello')`。 ~~~ // bad dragon.age(); // good dragon.getAge(); // bad dragon.age(25); // good dragon.setAge(25); ~~~ * [23.3](https://github.com/yuche/javascript#23.3) 如果属性是布尔值,使用 `isVal()` 或 `hasVal()`。 ~~~ // bad if (!dragon.age()) { return false; } // good if (!dragon.hasAge()) { return false; } ~~~ * [23.4](https://github.com/yuche/javascript#23.4) 创建 `get()` 和 `set()` 函数是可以的,但要保持一致。 ~~~ class Jedi { constructor(options = {}) { const lightsaber = options.lightsaber || 'blue'; this.set('lightsaber', lightsaber); } set(key, val) { this[key] = val; } get(key) { return this[key]; } } ~~~
';