我意识到这对大多数人来说可能是一个愚蠢的,但由于我甚至不知道这叫什么,我一直无法在网上找到更多的信息..
分享我的代码的过度简化; 在没有真正考虑我在做什么的情况下,我最终得到了类似下面的内容:
var myArray = [];
var firstObject = {...};
var secondObject = {...};
myArray.push({firstObject, secondObject});
Run Code Online (Sandbox Code Playgroud)
在Chrome中,当我检查数组内容时,我有一个完全符合我预期的对象数组.如果我JSON.stringify(myArray),我得到以下内容:
[{"firstObject":{"ping":"pong"},"secondObject":{"ping":"pong"}}]
Run Code Online (Sandbox Code Playgroud)
但是,当其他人在IE中尝试此操作时,它抱怨语法和.push()调用失败.
后来我意识到我真正打算做的是:
myArray.push({
firstObject: firstObject,
secondObject: secondObject
});
Run Code Online (Sandbox Code Playgroud)
幸运的是,使用这个数组的代码不需要改变,但我仍然对此感到困惑.有人能指出我的方向吗?这是来自较新的ES6语法吗?
myArray.push({firstObject, secondObject});
Run Code Online (Sandbox Code Playgroud)
是ES6语法,实际上是desugars:
myArray.push({
firstObject: firstObject,
secondObject: secondObject
});
Run Code Online (Sandbox Code Playgroud)
所以IE抱怨,因为它不支持这种新语法.