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 如果接收的方式是陣列方式...