變數的解構賦值

2022-03-29 16:21:35 字數 1321 閱讀 2461

基本概念

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重點 不是只有陣列才可以解構...