ES6的陣列結構賦值

2021-08-13 21:42:52 字數 1162 閱讀 3722

* es允許按照一定模式,從事狐族和物件中提取值,對變數進行賦值。這被稱之為結構。*

通常,我們賦值一般都會採用以下的這種方式

var a = 3;

var b = 'string';

// es6寫法

var [a,b] = [3,'string'];

下面是以巢狀陣列賦值的例子

let [a,b,c] = ["name","***","age"];

a // name

b // ***

c // age

如果解構不成功,變數會變成undifined

let [a] = ;

let [b,a] = [1];

以上的例子中都屬於解構不成功的情況,a的值為undifined

另一種情況是不完全解構,例子如下

// 第一種情況

let [a,b] = [1,2,3];

a // 1

b // 2

let [a,[b],c] = [1,[2,3],4];

a // 1

b // 2

c // 4

如果等號右邊不是陣列,亦或者右邊不是可遍歷的解構。則會報錯。

let [a] = 2;

let [a] = 'a';

let [a] = false;

let [a] = {}

let [a] = null;

解構賦值不僅適用於let,同時也適用於const和var

解構賦值允許給出預設值

let [a = 2] = ;

a // 2

預設值可以引用解構賦值的其他變數,但該變數必須已經宣告。

let [x =1,y=x] = ; //x = 1; y = 1;

let [x=1,y=x] = [2]; // x=2;y=2;

let [x=1,y=x] =[1,2] // x=1;y = 2;

let [x=y;y=1] = // 報錯 因為x=y時,y並沒有申明。

ES6陣列的解構賦值

解構 destructuring 是指在 es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,在解構出現之前為變數賦值,只能直接指定值。var a 1 var b 2 var c 3 es6可以寫成這樣 var a,b,c 1,2,3 這樣表示從 1,2,3 這個陣列中提取值,會按照對應的...

ES6 陣列的解構賦值

陣列的解構賦值 es6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 destructuring 以前,為變數賦值,只能直接指定值。let a 1 let b 2 let c 3 es6 允許寫成下面這樣。let a,b,c 1,2,3 console.log a 1 con...

ES6 陣列的解構賦值

陣列的解構賦值 將陣列的值,或者物件的屬性,提取到不同的變數中 更複雜的匹配規則 擴充套件運算子 let arr1 1,2 let arr2 3,4 let arr3 5,6 let arr4 arr1,arr2,arr3 三個陣列 let arr5 arr1,arr2,arr3 合併陣列的值 陣列...