Javascript 是否可以像这样使构造函数属性分配列表变短?

Javascript 是否可以像这样使构造函数属性分配列表变短?,javascript,es6-class,Javascript,Es6 Class,是否可以避免“this”赋值列表,并以某种方式“散布”构造函数中指定的所有参数 class MyClass { constructor(arg1, arg2, arg3, arg4, arg5) { this.arg1 = arg1; this.arg2 = arg2; this.arg3 = arg3; this.arg4 = arg4; this.arg5 = arg5; } } 您可以使用一

是否可以避免“this”赋值列表,并以某种方式“散布”构造函数中指定的所有参数

class MyClass {
    constructor(arg1, arg2, arg3, arg4, arg5) {
        this.arg1 = arg1;
        this.arg2 = arg2;
        this.arg3 = arg3;
        this.arg4 = arg4;
        this.arg5 = arg5;
    }

}

您可以使用一个键数组来迭代参数

class-MyClass{
构造函数(…参数){
变量键=['arg1','arg2','arg3','arg4','arg5']
keys.forEach((k,i)=>this[k]=args[i]);
}
}
var instance=newmyclass('a','b');

console.log(实例)
属性名称是否总是像
arg{N}
?无论名称如何-只是为了以某种方式将arg扩展到其相同或相似的位置。Properties如何将对象作为构造函数参数而不是单独的参数传递?
新建MyClass({arg1:1,arg2:“foo”,…})
?然后您可以在构造函数中使用
Object.assign()
,或者使用原始参数,并使用
Object.assign(这个,{arg1,arg2,arg3,arg4,arg5})
这可能是@NenadVracar所想的。最好迭代
,然后忽略任何额外的参数。Barnar-作为注释写入,以便我可以将其标记为正确答案