【发布时间】:2016-11-09 16:16:52
【问题描述】:
是否可以使用解构将函数的参数作为对象获取(以便对其进行迭代)?
function({a=1, b=2, c=3}={}) {
// how to get {a:1, b:2, c:3}?
}
我的目标是将每个参数绑定到类构造函数中的this。
不用解构也是可能的:
class Test {
constructor(args) {
Object.assign(this, args);
}
}
但我不知道如何简化:
class Test {
constructor({a=1, b=2, c=3}={}) {
this.a = a;
this.b = b;
this.c = c;
}
}
let test = new Test();
// test.a = 1
// test.b = 2 etc.
【问题讨论】:
-
所以你想让你的调用者用一个对象来调用这个函数?
-
虽然我在下面为您发布了一个选项,但我只能说,
this.a = a;表单美观清晰,易于阅读,易于调试... -
我明白了。但是当有很多参数时,可能会有点不方便。
标签: javascript ecmascript-6 destructuring