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