Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有不使用';引用类方法和变量的方法;这';(ES6)?_Javascript - Fatal编程技术网

Javascript 有没有不使用';引用类方法和变量的方法;这';(ES6)?

Javascript 有没有不使用';引用类方法和变量的方法;这';(ES6)?,javascript,Javascript,我的应用程序中有一个很大的类,编写这样的代码行变得很麻烦: this.reduceValue(this.value1 - this.value2); 其中“this”对象被过度用于访问类方法和变量 例如,在这个班上 var subtractor = class { constructor(val1, val2) { this.value1 = val1; this.value2 = val2; } subtract() {

我的应用程序中有一个很大的类,编写这样的代码行变得很麻烦:

this.reduceValue(this.value1 - this.value2);
其中“this”对象被过度用于访问类方法和变量

例如,在这个班上

var subtractor = class {
    constructor(val1, val2) {
        this.value1 = val1;
        this.value2 = val2;
    }

    subtract() {
        this.value2 -= this.value1;
    }
}
如何重写此类,使我能够访问
value1
value2
,而不必使用“this”关键字

检查是否需要:

var subtractor = class {
    constructor(...args) {
        args.forEach((x, i) => this[`value${i + 1}`] = x)
    }

    subtract() {
        this.value2 -= this.value1;
    }
}

您可以存储本地引用,如
let value=this.value。或者您可以通过声明
let t=this来缩短引用,然后像
t.reduceValue(t.value1-t.value2)一样使用它有一种方法-不要使用类多奇怪的建议@TheReason@baao这不是一个奇怪的建议,这是使用
class
的本质。如果您决定使用它,那么您必须通过
this
引用该类中的属性/方法。我说得对吗?理由是正确的。如果您不想使用
,则不要使用类。JS允许您以多种方式定义类数据结构。甚至不使用
类本身。甚至不值得费劲fam:(所以你可以把你的问题说得更清楚。似乎没有人理解你。因为这是一个奇怪的问题