ES9 的 Rest Properties 和 Spread Properties

ES2018(也称为ES9)引入了Rest Properties和Spread Properties,这两个新特性允许我们更方便地处理对象和数组。

Rest Properties

Rest Properties是一种对象扩展语法,用于收集剩余的键值对属性并将其放入一个单独的变量中。在ES6中,我们已经使用Rest参数(...)来收集剩余的函数参数,现在我们可以使用它来收集对象属性了。

下面是一个简单的示例,它接受一个person对象,并使用Rest Properties将其余属性放入rest变量中:

在上面的代码中,我们使用了解构赋值语法,将person对象的name属性放入name变量中,将其余属性放入rest变量中。在最后一行,我们打印了rest变量,它只包含性别和职业属性。

Spread Properties

Spread Properties是一种对象展开语法,允许我们将一个或多个对象合并为一个对象。它类似于Rest Properties,但它是在对象字面量中使用的。

下面是一个示例,演示了如何将两个不同的对象合并为一个:

在上面的代码中,我们首先定义了两个不同的对象person和details,然后使用Spread Properties将它们合并为一个新的对象merged。最后一行打印了merged变量,它包含person和details中的所有属性。

除了对象字面量外,Spread Properties还可以用于函数调用和数组解构中。

总结

Rest Properties和Spread Properties是一种方便的对象扩展语法,它们允许我们更轻松地处理对象和数组。使用Rest Properties,我们可以轻松地收集剩余属性并将它们放入一个单独的变量中。使用Spread Properties,我们可以将多个对象合并为一个。这些新特性使我们的代码更简洁,更易于阅读和编写。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6534bf8e7d4982a6eb9e515e


纠错
反馈