/ / Чи є сенс до додавання методів геттера в стандартні класи ES 6? [закрито] - javascript, ecmascript-6

Чи існує сенс додати методи геттера в стандартні класи ES 6? [закрито] - javascript, ecmascript-6

Я вважаю, що роблю такі речі, як це підсвідомо, тому що я зазвичай пишу PHP.

class Car {
constructor(engine) {
this.engine = engine;
}
getEngine() {
return this.engine;
}
}

Але тільки нещодавно я зрозумів, що в реальному практичному сенсі цього не існує, оскільки в будь-якому разі в модифікаторах доступу в JavaScript немає; іншими словами, може це зробити car.engine замість car.getEngine()

слідувати

Якщо є така точка; Ви б (одиниця) перевірили метод геттера (якщо так, як) і чому / чому / ні?

Відповіді:

1 для відповіді № 1

Ні, методи схожі getEngine є непотрібними безладдями. Просто відкрийте свої властивості безпосередньо, наприклад, як car.engine. У JavaScript всі властивості є загальнодоступними з причини.

Якщо вам доведеться коли-небудь додавати логіку до методу getter або рефакторити класу так, щоб engine більше не доступний безпосередньо, ви все одно (і повинні) просто використовувати властивість прозорого геттера:

class Car {
constructor(engine) {
this._engine = engine;
}
get engine() {
return this._engine; // or anything else
}
}