在对象文字中使用扩展语法的ES6功能的名称是什么?

时间:2017-09-12 09:28:08

标签: ecmascript-6 babeljs

我认为这是有效的ES6:

o = {
  a: 1,
  b: 2
};

p = {
  ...o,   // <---
  c: 3
};

// now p == {a: 1, b: 2, c: 3}

因为Babel's es2015 preset中似乎没有包含此功能。进一步调查,我试图找出Babel's env preset将包含它的条件。

这要求我在ES6 compatibility table中找到该功能,但我找不到它。它叫什么名字?

2 个答案:

答案 0 :(得分:1)

对象传播不是ES6。它是stage 3 proposal,不是现有规范的一部分。

可以使用stage-3(或更低)预设在Babel中启用它。

可以在ES兼容性表ES.next tab中监控它。

答案 1 :(得分:0)

Rest/Spread Properties是规范提案的名称。

您无法在ES6表中找到它的原因是因为它目前只是第3阶段提案而不是ES6规范的一部分。您需要查看下一部分:

http://kangax.github.io/compat-table/esnext/#test-object_rest/spread_properties