关于javascript:ES6展开语法

35次阅读

共计 817 个字符,预计需要花费 3 分钟才能阅读完成。

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

* 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]

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

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

正文完
 0