开展语法顾名思义能够了解为把整体开展成个体

* ES5中对于数组的浅拷贝

arr1=[1,2,3] arr2=[]
1.遍历循环arr1,将每一项push进arr2
2.利用concat办法
3.利用slice办法
ES6中对于数组的浅拷贝
应用开展语法(...)
arr2=[...arr1]

* 字面量对象的拷贝

ES5中

第二种办法:
let copy2 = JSON.parse(JSON.stringify(obj))

ES6中浅拷贝的办法:

let obj = {a: 1, b: 2};let copy = {...obj};

通过了上述简略的例子来具体说一下开展语法的定义:
开展语法在函数调用和结构数组时,将字符串和数组在语法层面开展;如果是对象时,将对象的表达式依照 key-value 的形式开展
要害的点有:
1.用于函数调用时的传参;用于解决数组;对象。
2.代替apply办法

* 在字符串中的应用:

语法层面的开展:也就是把一个残缺的字符串开展为由单个字符串组成的数组。留神要将其蕴含在【】中。
举个栗子

const str='segmentfault';const arr=[...str];console.log(arr)//(12) ["s", "e", "g", "m", "e", "n", "t", "f", "a", "u", "l", "t"]

* 在数组中应用
开展语法不仅能够用于数组的浅拷贝,还有其余无关数组的操作,比方合并数组:

var aq=[1,2,3];var we=[4,5,6];var rt=[...ap,...we];console.log(rt);//(6) [1, 2, 3, 4, 5, 6]

增加操作:

var add=['hello',...aq];console.log(add);//(4) ["hello", 1, 2, 3]

综上所述:咱们只须要把整个开展字符串看成是一个整体,放在你想要放的地位上就能够了。

* 在对象字面量中应用
在对象字面量中的应用与在数组中的应用相似,这里就不不再具体说了。