我正在学习 ES6 类(class)。有没有一种方法可以使构造函数以及其他地方都可以访问辅助函数(例如用于数据修改),这样我就不会两次输入该函数(作为构造函数中的 IIFE 和静态类方法)?
例如,我现在这样做是因为 getDimensions
不可在构造函数中调用:
class Foo {
constructor(data){
this._data = data;
let dimensions = function(data){
//return some dimensions
}(data);
this._x = d3.scaleLinear().domain([dimensions])...
}
static getDimensions(someData){
//same calcs as the constructor IIFE
}
updateScale(newData){
let dimensions = getDimensions(newData);
this.x = d3.scaleLinear().domain([dimensions]);
}
}
是否可以/明智地为自己提供一个可以在原型(prototype)方法和构造函数中使用的静态辅助方法?
最佳答案
getDimensions
是一个静态方法,因此您必须将其作为 Foo
对象的属性来访问。您应该执行 Foo.getDimensions(newData)
,而不是 getDimensions(newData)
。
关于javascript - 如何在构造函数中使用静态辅助方法(无需在那里声明它们)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39965039/