js-展开运算符

首先,我们先介绍什么叫展开运算符,...这个就是展开运算符,这个...和rest参数的...不一样,rest参数的...是写在方法的形参前面的。

需要注意的是:展开运算符,可以展开对象的全部成员,也可以将一个对象的成员,克隆给另一个对象

接下来我们就一起通过代码实现一下:

比如我这边我先写出两个数组:let arr1 = [11,22,33];let arr2 = [44,55,66]  以前如果我们想把arr1和arr2这两个数组合并的话,需要借助数组的concat()方法:let arr3 = arr1.concat(arr2);=>let arr3 = [11,22,33,44,55,66]

如图:


如图就是我们通过数组的concat()方法去实现数组的合并

得到的效果如图:

这个就是我们通过concat()方法去实现合并数组的效果

在ES6中,我们可以通过我们的展开运算符...去实现数组的合并:let arr4 = [...arr1,...arr2];通过这行代码就可以实现效果,最后的结果就是arr4=[11,22,33,44,55,66]

话不多说这就送上我们的实现的代码图:


这个就是我们的实现的代码图

效果图:

这个就是我们的效果图。

//在这里我们需要咋重新声明的一点是:...展开运算符是将一个数组的对象克隆给另一个数组。

同时:展开运算符,可以将多个对象的成员,合并到一个大的对象中,后面对象中的成员,如果跟前面对象中的成员同名,会覆盖前面的

比如:let obj1 = {

          a:100,

          b:200

      }

      let obj2={

          c:300,

          d:400,

          a:500

      }

当我们 let obj3 = {...obj1,...obj2};=>{a:500,b:200,c:300,d:400}因为当我们把几个对象合并到一个大的对象当中时,后面同名的属性值会直接覆盖前面的同名的属性值,所以这里的a的值变成了obj2.a的500

效果如图:

这个就是我们的代码实现

实现的效果如图:

图中可以清楚看出,a的值被obj2里面的a的值给覆盖了
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容