ES2019 中的省略号

在 JavaScript 中,省略号(spread operator)是一个非常有用的特性。它可以将数组或对象“展开”成多个独立的元素,或者将多个独立的元素组合成一个数组或对象。在 ES2019 中,省略号有了更多的应用场景和语法变化,下面将详细介绍它的用法和指导意义。

一、数组中的省略号

1. 展开数组

使用省略号可以将一个数组展开成多个独立的元素,例如:

在上面的代码中,省略号将 arr1 数组展开成了三个独立的元素,然后与后面的三个元素组合成了一个新的数组 arr2

2. 合并数组

使用省略号还可以将多个独立的数组合并成一个数组,例如:

在上面的代码中,省略号将 arr1arr2 两个数组分别展开成了独立的元素,然后合并成了一个新的数组 arr3

3. 数组拷贝

使用省略号还可以快速拷贝一个数组,例如:

在上面的代码中,省略号将 arr1 数组展开成了独立的元素,然后又组合成了一个新的数组 arr2,相当于对 arr1 数组进行了深拷贝。

二、对象中的省略号

1. 展开对象

使用省略号可以将一个对象展开成多个独立的属性,例如:

在上面的代码中,省略号将 obj1 对象展开成了三个独立的属性,然后与后面的三个属性组合成了一个新的对象 obj2

2. 合并对象

使用省略号还可以将多个独立的对象合并成一个对象,例如:

在上面的代码中,省略号将 obj1obj2 两个对象分别展开成了独立的属性,然后合并成了一个新的对象 obj3

3. 对象拷贝

使用省略号还可以快速拷贝一个对象,例如:

在上面的代码中,省略号将 obj1 对象展开成了独立的属性,然后又组合成了一个新的对象 obj2,相当于对 obj1 对象进行了浅拷贝。

三、函数中的省略号

在函数中使用省略号可以接收不定数量的参数,例如:

在上面的代码中,省略号将传入的参数展开成了一个数组 nums,然后可以对这个数组进行遍历或者其他操作。

四、总结

省略号是一种非常实用的特性,在 ES2019 中有了更多的应用场景和语法变化,可以简化代码、提高效率。在使用省略号时需要注意深浅拷贝的问题,以及不同类型的数据结构的展开方式。希望本文能够对大家有所帮助。

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


纠错
反馈