我有一个允许以模块化性质定义类的框架 - 其中一部分包括预定义变量,例如 v
.
我正在寻找一种方法,可以在类里面引用 v.test
而不是 this.v.test
我尝试了代理,但无法确定它来自哪个组件。
我也试过绑定(bind)一个新的上下文(但 this
仍然是必需的)
当前类(class):
class test extends BaseClass {
constructor(){
this.v = {data: 'test'}
}
getData(){
console.log(v.data) // goal is to equal 'test'
}
}
使用函数的示例:
function test(){
this.v = {data: 'test'}
const v = this.v;
this.getData = function(){
console.log(v.data) // this does equal 'test'
}
}
目前,v 未在原始上下文中定义。
我希望能够从类的任何实例中引用 this.v 而无需调用
this.v
不应按实例共享数据。
最佳答案
这根本不可能,因为在 ECMA 类中,声明变量是不可能的,您可以声明字段,但这些只能从 this
访问。 .
关于javascript - 在 ES6 类中添加上下文/私有(private)变量(不引用 this。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247809/