物体中展开的位置/顺序是否重要



在JavaScript中,使用排列语法时的位置和排序是否重要?

var item = {/* key value pairs here */};
var itemB = {/* key value pairs here */};

例如,在以下代码段中,newItem是否总是具有相同的键值对?

var newItem = {
...item,
...itemB
};

作为

var newItem = {
...itemB,
...item
};

除了键值对的一般顺序(这对对象的结果没有真正的重大影响(之外,唯一的其他区别是itemitemB是否有重复的键。

例如。

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"}

因此,如果存在重复的关键帧,则对象的排列顺序确实很重要。

如果您希望为对象提供默认键值对,这可能特别有用。您只需将默认键值对放在第一位,如果它们不存在于与排列语法一起使用的对象中,它将作为新对象的默认值。

最新更新