JS、es6で関数のデフォルト因数を指定する

es5までは関数にデフォルト因数を指定する場合、以下のように書いてました。

function makeAjaxRequest(url, method) {
  if (!method) {
    method = 'GET'
  }
return method;
}

makeAjaxRequest('google.com');
=> GET
makeAjaxRequest('google.com', 'POST');
=> POST





これがes6では、引数のところに与えたいデフォルト値を設定します。

function makeAjaxRequest(url, method = 'GET') {
return method;
}

makeAjaxRequest('google.com');
=> GET
makeAjaxRequest('google.com', 'POST');
=> POST





nullにしたい場合は、

function makeAjaxRequest(url, method = 'GET') {
return method;
}

makeAjaxRequest('google.com', null);
=> null
makeAjaxRequest('google.com', 'POST');
=> POST

注意点としてundefinedにすると指定しなかったと解され、デフォルト値のGETが返る。





See Also