* 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 合併陣列的值 陣列...