我认为这是有效的es6:
o = {
a: 1,
b: 2
};
p = {
...o, // <---
c: 3
};
// now p == {a: 1, b: 2, c: 3}
看来此功能未包含在Babel的es2015
预设中。进一步调查,我试图在什么条件下找出Babel的env
预设将包括它。
这要求我在ES6兼容性表中找到该功能,但我找不到它。它的名字是什么?
对象差异不是ES6。这是第三阶段的建议,不是现有规格的一部分。
可以用stage-3
(或较低)预设在Babel中启用它。
可以在ES兼容表中监视它。
休息/涂抹属性是规范建议的名称。
您在ES6表中找不到它的原因是因为它只是当前是阶段3提案而不是ES6 Spec的一部分。您需要在下一节中查看:
http://kangax.github.io/compat-table/esnext/#test-object_rest/spread_properties