Javascript 如何使用类中的静态getter调用对象并使用this关键字?

Javascript 如何使用类中的静态getter调用对象并使用this关键字?,javascript,class,static,this,getter,Javascript,Class,Static,This,Getter,如何使用静态getter z()并调用对象来使用this关键字 我想static y()方法确实完成了我想要的任务。但我想知道我是否能用一个真正的能手来完成这项工作 这是我的代码: 类测试{ 构造函数(x,y,z){ 这个.x=x; 这个._y=y; 这个; } static get str(){return'Some prefined value';}//我可以使用这个静态getter。 get x(){返回这个。_x;}//我可以在类实例上使用这个非静态getter并使用this关键字(显

如何使用静态getter z()并调用对象来使用this关键字

我想static y()方法确实完成了我想要的任务。但我想知道我是否能用一个真正的能手来完成这项工作

这是我的代码:

类测试{
构造函数(x,y,z){
这个.x=x;
这个._y=y;
这个;
}
static get str(){return'Some prefined value';}//我可以使用这个静态getter。
get x(){返回这个。_x;}//我可以在类实例上使用这个非静态getter并使用this关键字(显然)。
static y(){返回this.\u y;}//我可以使用this关键字在类实例上使用此静态方法。
static get z(){返回此值。_z;}//如何在类实例上使用此值?。
}
const obj=新测试(2,3,4);
console.log(test.str);//使用类中的静态getter。
console.log(Object.getPrototypeOf(obj.constructor.str);//使用来自对象实例的静态getter。
console.log(obj.x);//使用非静态getter并使用this关键字。

console.log(test.y.call(obj));//使用static方法并使用this关键字。
要间接调用getter,可以使用
Reflect.get
(),将第三个参数设置为“this”对象。
Reflect.get的第三个参数是

如果遇到getter,则为目标调用提供的值

例如:

类测试{
构造函数(x,y,z){
这个;
}
静态get z(){
把这个还给我;
}
}
const obj=新测试(2,3,4);
结果=Reflect.get(测试'z',obj)

console.log(result)
要间接调用getter,可以使用
Reflect.get
(),将第三个参数设置为“this”对象。
Reflect.get的第三个参数是

如果遇到getter,则为目标调用提供的值

例如:

类测试{
构造函数(x,y,z){
这个;
}
静态get z(){
把这个还给我;
}
}
const obj=新测试(2,3,4);
结果=Reflect.get(测试'z',obj)

console.log(result)
Object.getOwnPropertyDescriptor(test,'z').get.call(obj)
!如果您将其作为答案发布,我可以将其标记为解决方案。@AdamSassano:实际上,刚刚发现了一个更好的方法。
Object.getOwnPropertyDescriptor(test,'z').get.call(obj)
这很有效!如果你把它作为一个答案发布,我可以把它标记为一个解决方案。@AdamSassano:事实上,我刚刚发现了一个更好的方法。