3. 解構(gòu)賦值
ES6 入門課程 / 3. 解構(gòu)賦值
手機(jī)也能上課
App下載
1/12

概念

?ES6?允許按照一定模式,從?數(shù)組?和?對(duì)象?中?提取值?,對(duì)變量進(jìn)行?賦值?,這被稱為?解構(gòu)賦值?。

如下面變量賦值

var a=1;
var b=2;
var c=3;

在ES6語(yǔ)法中可以寫(xiě)為

var [a,b,c]=[1,2,3];    // 等號(hào)兩邊的模式相同

如果解構(gòu)?不成功?,變量的值就等于?undefined?。

如果等號(hào)的右邊不是數(shù)組(?不是可遍歷的結(jié)構(gòu)?),將會(huì)?報(bào)錯(cuò)?。

?解構(gòu)賦值?不僅適用于?var?命令,也適用于?let?和?const?命令。

var [foo, [[bar], baz]] = [1, [[2], 3]];    //可以嵌套
foo // 1
bar // 2
baz // 3
var [ , , third] = ["foo", "bar", "baz"];    // 可以忽略
third // "baz"
var [x, , y] = [1, 2, 3];
x // 1
y // 3
var [head, ...tail] = [1, 2, 3, 4];    // ... 表示剩余運(yùn)算符
head // 1
tail // [2, 3, 4]
var  [x, y, ...z] = ['a'];
x // "a"
y // undefined
z // []
let [a = 1, b] = [];                // 不完全解構(gòu)
a  //  1
b  //  undefined


+10 經(jīng)驗(yàn) +10積分
解析
提示
參考答案
+10 經(jīng)驗(yàn) +10積分
視頻播放結(jié)束,是否學(xué)習(xí)下一節(jié)?