基本概念
es6解構:es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱之為解構
變數的解構賦值本質上就是一種匹配模式,只要等號兩邊的模式相同,那麼左邊的變數就可以被賦予對應的值
解構賦值主要分為:
1 陣列的解構賦值
2 物件的解構賦值
3 基本型別的解構賦值
傳統的賦值方式
//傳統的賦值方式
let a=1;
let b=2;
let c=3;
//現在有了解構賦值之後就不用那麼麻煩了
let [a,b,c]=[1,2,3];
console.log(a,b,c);
//1,2,3
下面就是解構賦值的介紹
1 陣列的解構賦值(找準位置,由位置決定)
let [a,[[b],[c]]]=[1,[[2],3]]console.log(a,b,c);
//1,2,3
let [,,c]=[1,2,3];
console.log(c);
//3
let [x]=;
console.log(x);
//等同於let x; 相當於宣告了乙個變數沒有賦值 x=undefined
let [y=1]=;
console.log(y);
//1
2 物件的解構賦值(必須是同名的屬性才能取到正確的值)
let =console.log(a,b);
//aaa bbb 變數名與屬性名一致,就可以解構賦值
//變數名與屬性名不一致時賦值
let=
console.log(b);//1
console.log(a);//
a is not defind
//先找到同名屬性,在賦值給對應的變數,所以真正賦值的是後面的變數,也就是b,而不是前面的屬性名
3 基本型別的解構賦值
//字串的解構賦值
let [a,b,c,d]="1234";
console.log(a,b,c,d);
//1,2,3,4實質上 字串被轉換成了乙個類陣列的物件,大家都知道字串可以轉換成陣列
//對字串length屬性進行解構賦值
let ='like';
console.log(len);
//4 like的length
null和undefined不能解構賦值的
變數解構賦值
1.從陣列物件中提取值,對變數進行賦值,被稱為結構。2.false,1,nan undefind null轉化為物件後不具備iterator介面,本身不具備iterator介面。3.set結構也可使用陣列的解構賦值,只需要資料機構具備iterator 迭代器 介面,都可以採用陣列形式的解構賦值 ar...
變數的解構賦值
從陣列和物件中提取值,對變數進行賦值,這被稱為解構 本質上,這種寫法屬於 模式匹配 只要等號兩邊的模式相同,左邊的變數就會被賦予對應的值 例子 let a,b,c 1,2,3 let foo,bar baz 1,2 3 foo 1 bar 2 baz 3 let third foo bar baz ...
變數的解構賦值
什麼是解構 es6允許按照一定的模式,從陣列或者物件中提取值,然後賦值給相應變數,此為解構。解構分為完全解構和不完全解構,前者要求一一對應,後者可以是等號左邊只匹配等號右邊的一部分。解構不成功會返回undefined。let foo alert foo undefined重點 不是只有陣列才可以解構...