是否有可能使这样的构造函数属性赋值列表更短? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

是否有可能避免“这个”赋值列表并以某种方式“传播”构造函数中指定的所有args?

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

}
javascript es6-class
1个回答
1
投票

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

class MyClass {
    constructor(...args) {
        var keys = ['arg1', 'arg2', 'arg3', 'arg4', 'arg5']
        keys.forEach((k, i) => this[k] = args[i]);
    }
}

var instance = new MyClass('a', 'b');

console.log(instance);
© www.soinside.com 2019 - 2024. All rights reserved.