在JavaScript中,使用排列语法时的位置和排序是否重要?
var item = {/* key value pairs here */};
var itemB = {/* key value pairs here */};
例如,在以下代码段中,newItem
是否总是具有相同的键值对?
var newItem = {
...item,
...itemB
};
作为
var newItem = {
...itemB,
...item
};
除了键值对的一般顺序(这对对象的结果没有真正的重大影响(之外,唯一的其他区别是item
和itemB
是否有重复的键。
例如。
var item = {firstName: "Bob"};
var itemB = {lastName: "Smith", firstName: "Tim"};
在这种情况下,以下两项将不相同。
var newItem = {
...item,
...itemB
};
// {lastName: "Smith", firstName: "Tim"}
var newItem = {
...itemB,
...item
};
// {lastName: "Smith", firstName: "Bob"}
因此,如果存在重复的关键帧,则对象的排列顺序确实很重要。
如果您希望为对象提供默认键值对,这可能特别有用。您只需将默认键值对放在第一位,如果它们不存在于与排列语法一起使用的对象中,它将作为新对象的默认值。