存取器

  • 23.1 属性的存取函数不是必须的。
  • 23.2 如果你需要存取函数时使用 getVal()setVal('hello')

    1. // bad
    2. dragon.age();
    3. // good
    4. dragon.getAge();
    5. // bad
    6. dragon.age(25);
    7. // good
    8. dragon.setAge(25);
  • 23.3 如果属性是布尔值,使用 isVal()hasVal()

    1. // bad
    2. if (!dragon.age()) {
    3. return false;
    4. }
    5. // good
    6. if (!dragon.hasAge()) {
    7. return false;
    8. }
  • 23.4 创建 get()set() 函数是可以的,但要保持一致。

    1. class Jedi {
    2. constructor(options = {}) {
    3. const lightsaber = options.lightsaber || 'blue';
    4. this.set('lightsaber', lightsaber);
    5. }
    6. set(key, val) {
    7. this[key] = val;
    8. }
    9. get(key) {
    10. return this[key];
    11. }
    12. }