JavaScript ES6 Default Function Parameters

在 ES6 中,JavaScript 函數的參數終於可以有預設值了。

語法:

function funcName([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) {
   statements
}

在參數名稱後面,接著等號 = 然後指定預設值。

傳統要給函數參數一個預設值,寫法會像是:

function multiply(a, b) {
  b = (typeof b !== 'undefined') ?  b : 1;
  return a * b;
}

multiply(5, 2); // 10
multiply(5, 1); // 5
multiply(5);    // 5

ES6 新的寫法簡潔多了:

function multiply(a, b = 1) {
  return a * b;
}

multiply(5, 2); // 10
multiply(5, 1); // 5
multiply(5);    // 5
IE 最新版瀏覽器 IE11 目前還不支援 Default Function Parameters。