【发布时间】:2017-06-14 17:39:37
【问题描述】:
我正在尝试使用 babel 在 ES7 中设置默认选项。这是我能做的:
class Foo {
constructor({key='value', foo='bar', answer=42}) {
this.key = key;
this.foo = foo;
this.number = number;
}
}
这可能适用于本示例,但我想知道如何为非常大的配置对象分配; 这是我想做的一个例子:
class Foo {
constructor(opts = {key='value', foo='bar', answer=42}) {
this.opts = opts;
}
}
但是这不会编译。我试着这样做:
class Foo {
constructor(opts = {key:'value', foo:'bar', answer:42}) {
this.opts = opts;
}
}
但随后它会替换整个对象,如下所示:
let foo = new Foo({key: 'foobar'});
console.log(foo.opts);
// {key: 'foobar'} is what is displayed
// When I want {key: 'foobar', foo:'bar', answer:42}
【问题讨论】:
标签: javascript ecmascript-6 babeljs ecmascript-2016