对象的javascript扩展运算符不工作?这是预期的行为吗?

对象的javascript扩展运算符不工作?这是预期的行为吗?,javascript,ember.js,ecmascript-6,babeljs,Javascript,Ember.js,Ecmascript 6,Babeljs,对象的扩展运算符(…)不起作用,如下面代码所示。这是预期的行为吗? 试一试 问这个问题的原因是,我看到在代码的下面一行中使用了一个对象,但它对我不起作用 我是否缺少使其工作的任何配置?来自文档: Only for iterables Note that the spread operator can be applied only to iterable objects: var obj = {'key1': 'value1'}; var array = [...obj]; // Type

对象的扩展运算符(
)不起作用,如下面代码所示。这是预期的行为吗? 试一试

问这个问题的原因是,我看到在代码的下面一行中使用了一个对象,但它对我不起作用

我是否缺少使其工作的任何配置?

来自文档:

Only for iterables

Note that the spread operator can be applied only to iterable objects:

var obj = {'key1': 'value1'};
var array = [...obj]; // TypeError: obj is not iterable

我想您希望从对象中获得正确的值作为函数参数。您可以使用spread运算符,但首先必须将对象交换为可编辑的对象,例如
数组

var测试={
开始:'陈述',
结束:'结束'
}
功能显示(开始、结束){
console.log(开始、结束);
}

显示(…Object.keys(test.map)(v=>test[v])是,这是预期的。ES6中的对象没有扩展语法。@Bergi感谢问题跟踪链接。事实上,这是ember插件,所以我认为他们可能会在准备最终输出js时进行一些透明处理,以使其正常工作。但是这个问题不是这样的,所以我可以继续写我的第一个开源PR。这是一个非常糟糕的主意,因为
Object.keys
不能保证order@Bergi我将为OP添加一个注释,不使用数字作为键。
Only for iterables

Note that the spread operator can be applied only to iterable objects:

var obj = {'key1': 'value1'};
var array = [...obj]; // TypeError: obj is not iterable