MDN defines传播运算符的用法仅作用于数组。ES6扩展运算符是否在标准ECMAScript规范的对象上应用?
例如,对于传播运营商正确使用看起来像
var parts = ['shoulders', 'knees'];
var lyrics = ['head', ...parts, 'and', 'toes']; // ["head", "shoulders", "knees", "and", "toes"]
,我们已申请蔓延运营商阵列parts
上。
但in the React docs,他们所使用的价差操作上对象像这样
var props = {};
props.foo = x;
props.bar = y;
var component = <Component {...props} />;
如果我真的尝试做这个控制台,我收到一个TypeError
var a = {b:1,c:2}
console.log(...a); // TypeError
我的问题是:
- 正在使用扩散算子ove r对象在规范中实现了一个标准(并且这个用例从MDN文档中省略了,并且我试图展示的控制台示例没有正确完成,从而导致TypeError)?
- 如果不是一个标准的实现,那么React组件就可以精确的扩展运算符来处理它所做的非标准方法(即作用于对象),并抑制TypeError这样做时不可避免地会出现?
这不是标准尚未:https://github.com/sebmarkbage/ecmascript-rest-spread + https://github.com/tc39/ ecma262 – zerkms