Я вважаю, що роблю такі речі, як це підсвідомо, тому що я зазвичай пишу 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
}
}