Serials Javascript Style Guide – Accessors

  Javascript    —  2019, May 28    

Accessors

Not required

Không bắt buộc hàm truy cập đối với các thuộc tính

No getters-setters

Không dùng JavaScript getters/setters vì chúng gây ra side effects không mong muốn và khó test, maintain, và vài lý do khác. Vì thế nên sử dụng getVal()setVal('hello') nếu muốn có hàm truy cập.

// bad
class Dragon {
  get age() {
    // ...
  }

  set age(value) {
    // ...
  }
}

// good
class Dragon {
  getAge() {
    // ...
  }

  setAge(value) {
    // ...
  }
}

Boolean prefix

nếu property/method là kiểu boolean, thì sử dụng isVal() hoặc hasVal().

// bad
if (!dragon.age()) {
  return false;
}

// good
if (!dragon.hasAge()) {
  return false;
}

Consistent

Phải nhất quán việc tạo hàm 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];
  }
}

Tổng hợp Serial Javascript Style Guide