經常在執行程式的時候才發現有哪一個變數忘記設定初始值,所以就會出現 undefined 的狀況,如果可以在一開始就先幫他們設定好預設值,即使忘記給定變數的初始值,程式也可以直接使用預設值進行處理摟!
這邊將預設值分成三種,分別是 function和解構兩個情況舉例說明。
function
假設我想要做一個 repeat
的 function,需要輸入要被重複的字串,以及要被重複的次數,可以在 function 中的參數位置預先寫入預設值,所以如果引數忘記填寫,就會使用預設值進行處理。
function repeat(str = 'hello', times = 3){
return str.repeat(times)
}
//忘記給定 times 引數
console.log(repeat('abc'))
將會印出 abcabcabc
解構
在解構時,必須要確認被解構的架構以及解構後的架構是一樣的,所以如果有架構無法對應的狀況就會出現 undefined,如果事先都把值加入預設值,就更方便處理了。
const obj = {
a: 1,
b: 2
}
//多了一個 c
const {a = 0, b = 0, c = 0} = obj
console.log(a, b, c)
將會印出 1 2 0
,因為有把 a, b, c
的預設值都設為 0
,所以即使 c
沒辦法解構成功,仍舊可以使用預設值來處理。