在ES6类中添加上下文/私有变量(不引用此变量。)

时间:2019-05-22 00:20:07

标签: javascript class ecmascript-6

我有一个框架,允许以模块化的方式定义类-其中的一部分包括预定义变量,例如v。 我正在寻找一种可以从班级内部引用v.test而不是this.v.test

的方法

我尝试了代理,但无法确定其来源。 我还尝试了绑定新上下文(但仍然需要this

当前课程:

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

不应按实例共享数据。

1 个答案:

答案 0 :(得分:0)

这根本不可能,因为在ECMA类中,不可能声明变量,您可以声明字段,但是只能从this访问这些内容。