在标准ES6类中添加getter方法有意义吗
Is there a point to adding getter methods in standard ES 6 classes?
我发现自己下意识地做这样的事情,因为我通常写PHP。
class Car {
constructor(engine) {
this.engine = engine;
}
getEngine() {
return this.engine;
}
}
但直到最近,我才意识到这样做可能没有真正的实际意义,因为无论如何,javascript中都没有访问修饰符;换句话说,不妨使用car.engine
而不是car.getEngine()
后续
如果有一点;你(单元)会测试getter方法吗(如果是,如何测试),为什么/为什么不测试?
getEngine
这样的方法是不必要的混乱。只需直接访问您的属性,例如car.engine
。在JavaScript中,所有属性都是公开的,这是有原因的。
如果您需要向getter方法添加逻辑,或者重构类以使engine
不再可直接访问,您仍然可以(并且应该)只使用透明的getter属性:
class Car {
constructor(engine) {
this._engine = engine;
}
get engine() {
return this._engine; // or anything else
}
}
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 如何防止在javascript中执行继承属性的getter-setter方法
- localStorage-对象的getter-, setter-方法的目的是什么?
- 使用getter和setter实现函数链接的方法
- 在标准ES6类中添加getter方法有意义吗
- JS是否可以具有与属性相同的getter和setter方法
- 任何重写参数的方法'getter/setter性质
- 如何使用getter和setter方法创建一个Angular工厂而不遇到竞争条件
- 具有自身内在价值的对象.另一种做getter的方法
- JS能够覆盖对象的Getter方法
- 从Sequelize getter方法访问关联表
- 构造函数、getter和setter方法中的Object.defineProperty
- 在getter之后调用Jquery方法
- 应该在JavaScript中使用setter/getter方法吗?
- 私有属性的通用setter/getter方法
- 为什么jquery getter css()方法和javascript返回不同的样式变量值
- 数组属性的JavaScript getter方法
- 在Vuex getter中使用组件道具的正确方法是什么