解構時的預設值

我們經常遇到這樣一種情況,即我們試圖提取的屬性在物件/陣列中不存在,導致 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