解构时的默认值

我们经常遇到这样一种情况,即我们试图提取的属性在对象/数组中不存在,导致 TypeError(在解构嵌套对象时)或被设置为 undefined。在解构时,我们可以设置一个默认值,如果在对象中找不到它,它将回退到默认值。

var obj = {a : 1};
var {a : x , b : x1 = 10} = obj;
console.log(x, x1); // 1, 10
 
var arr = [];
var [a = 5, b = 10, c] = arr;
console.log(a, b, c); // 5, 10, undefined