- 解構(gòu)的用途
** 可以指定參數(shù)的默認(rèn)值,節(jié)省代碼
交換變量值
let [x, y] = [y, x];
提取JSON數(shù)據(jù)
var json = {
id: 1,
name: "Roy"
}
let {id, name} = json;
解析Map
let map = new Map();
map.set("name","Roy");
map.set("age","22");
for(let [k, v] of map){
console.log(k, v);
}
- 字符串解構(gòu)賦值
字符串解構(gòu)會轉(zhuǎn)換成一個類似數(shù)組的對象
let [a, b, c] = "Roy";
a // "R"
b // "o"
c // "y"
- 函數(shù)解構(gòu)賦值
function add([x = 1, y = 2]){
console.log(x+y);
}
add([1, 2]); // 3
add([1]); // 3
add([0,1]); // 2
- 圓括號問題
圓括號盡量不要在解構(gòu)中使用
報(bào)錯例子
let [(a)] = [1];
let { a: (b) } = {};
let { o: ({ p: p }) } = { o: { p: 2 } };