ES6 變數的陣列解構

2021-08-03 00:03:27 字數 1099 閱讀 6521

1.入門小案例

var arr=[1,2,3];

var [a,b,c]=arr;

console.log(a,b,c) //1,2,3

2.多維陣列解構賦值

let arr=[22,[5,3],19]

let [a,[b,c],d]=arr

console.log(a,b,c,d)//22,5,3,19

3.變數交換

let x=11;

let y=22;

[y,x]=[x,y]

console.log(x,y) //22,11

4.不完全解析

let arr=[22,[5,3],19]

let [a,[b],d]=arr

console.log(a,b,d)//22,5,19

let [a,[,c],d]=arr

console.log(a,c,d)//22,3,19

5.不可解析

let [x,y]=nan//undefined ,null ,{}

6.set解析

let [x,y]=new set([111,222]);

console.log(x,y) //111,222

7.所有實現了iterator的資料結構都能被陣列解析

class group

next()

} [symbol.iterator]()

}let group = new group();

let [x,y]=group;

console.log(x,y)//ggb,ggb

8.三個點運算賦

var [x,y,...z]=[1,2,3,4,5,6]

console.log(x,y,z)//1 2 [ 3, 4, 5, 6 ]

ES6 變數解構

es6允許按照一定的模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 destructuring 語法 let a,b,c 1,2,3 console.log a,b,c 1 2 3 順序 從陣列中取值,按照對應位置,對變數取值,這種寫法屬於 匹配模式 只要等號兩邊模式相同,左邊的變數就會被...

ES6 變數的解構

預設值 let foo true foo true let x,y b a x a y b let x,y b a undefined x a y b es6 內部使用嚴格相等運算子 判斷乙個位置是否有值。所以,如果乙個陣列成員不嚴格等於undefined,預設值是不會生效的。以下三種解構賦值不得使...

ES6陣列的解構

陣列解構 const namess henry bucky emily 解構 const name1,name2,name3 namess console.log name1,name2,name3 henry bucky emily 返回陣列個數 const namess 如果接收的方式是陣列方式...