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

标签 javascript class ecmascript-6

我有一个允许以模块化性质定义类的框架 - 其中一部分包括预定义变量,例如 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/

相关文章:

java - 如何使用正在读取的文本文件的值填充 "ragged"数组?

javascript - 使用拼接从数组中删除对象

javascript - 使用 JavaScript 的 Ajax 日历日期范围

javascript - 使用一个按钮完成向下滚动时向上滚动一个div

javascript - 根据属性中的值设置元素的样式

python - 如何在python中使用循环创建多个类对象?

javascript - 你如何检查 ECMAScript 6 类和函数之间的区别?

ecmascript-6 - es6 中解构获取数组的最后一个元素

javascript - 如何通过回调和匿名函数将 'this' 保留在范围内?

javascript - 使用 JQuery 在 ESC 按键处关闭自定义框