我有一个问题:如果我在一个类中有一个构造函数:
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
以外的其他信息。有两个问题:
我可以从同一类的静态方法中调用构造函数吗?
从静态方法调用非静态方法的正确方法应该是什么?
答案 0 :(得分:0)
以下代码显示为“ 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")