我有一个问题:如果我的类中有一个构造函数:
module.exports = class ClassA{
constructor(stuffA, stuffB) {
this.stuffA = stuffA;
this.stuffB = stuffB;
}
NonStaticMethod() {
console.log(this);
}
static StaticMethod(stuffA, stuffB) {
const element = new ClassA(stuffA, stuffB);
console.log(element)
element.NonStaticMethod();
});
}
};
因此,NonStaticMethod
会打印除 StaticMethod
之外的对象的其他信息。那么两个问题:
我可以从同一个类的静态方法调用构造函数吗?
从静态方法调用非静态方法的正确方法应该是什么?
最佳答案
以下代码打印“true”,因此在 NonStaticMethod 中 this.stuffA 正确依赖构造函数中定义的值:
class ClassA{
constructor(stuffA, stuffB) {
this.stuffA = stuffA;
this.stuffB = stuffB;
}
NonStaticMethod() {
console.log(this.stuffA === "a");
}
static StaticMethod(stuffA, stuffB) {
const element = new ClassA(stuffA, stuffB);
element.NonStaticMethod();
};
}
ClassA.StaticMethod("a","b")
关于node.js - NodeJS : Can a static method call the constructor of the same class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56239456/