ES6語法簡介——5、解構賦值(二)
阿新 • • 發佈:2020-11-12
5、解構賦值(二)
5.2、陣列解構
在ES6中,物件和陣列可以使用解構功能,可以按照一定模式從物件和陣列中提取值,對變數進行賦值。陣列解構是使用方括號。
例:
let arr=[1,2,3]; let [a,b,c]=arr; console.log(a);//1 console.log(b);//2 console.log(c);//3變數值是根據陣列中元素的順序進行選取的。無論陣列中的元素有多少個,都可以通過let[,,c]=arr的方式來獲取。
對於已經宣告過的變數,不需要使用圓括號包裹解構語句。C前面的逗號是佔位符,不管陣列中的元素有多少個,都可以通過這種方式提取想要的元素。
例:
let arr=[1,2,3]; let a,b,c; [a,b,c]=arr;//ok
如果變數之前已經聲明瞭,那麼需要使用圓括號把整個解構賦值語句包起來。
例:
let title,isbn,price; ({title,isbn,price})=book;
在陣列解構賦值表示式為陣列中任意位置新增預設值,當指定元素不在在於或者其值為undefined時使用函式
例:
let arr=[1,2,3]; let [a,b,c,d=0]; console.log(d);//0
巢狀陣列解構只在原來的陣列結構模式中插入另一個數組解構模式,即可將解構過程深入下一層。
例:
let categories=["C/C++",["vue","react"],"java"]; let [language1,[,language2]]=categories; console.log(language1);//c/c++ console.log(language2);//react變數language2兩側的方括號表示該變數的值應該到下一層去查詢,language2前面的逗號跳過了陣列內部的第一個元素,所以值是react