引数の初期値設定 ES6 before & after

引数の初期値の設定方法。

/**
 * 引数の初期値設定
 */
//ES6 before --------------------------------------------------------------------------
function getTrapezoid1(upper, lower, height){
    if(upper === undefined){upper = 1;}
    if(lower === undefined){lower = 1;}
    if(height === undefined){height = 1;}
    return (upper + lower)*height/2;
}
document.getElementById('hoge1').textContent = getTrapezoid1(2,3,4);

//ES6 after --------------------------------------------------------------------------
function getTrapezoid2(upper = 1, lower = 1, height = 1) {
    'use strict';
    return (upper + lower)*height/2;
}
document.getElementById('hoge2').textContent = getTrapezoid2(3,4,5);

//他の引数をデフォルト値とする場合、参照できるのは、自身より前に定義されたものだけ
function getV1(a, b = a ){
    'use strict';
    return a * b;
}
document.getElementById('hoge3').textContent = getV1(10, 5);
document.getElementById('hoge4').textContent = getV1(10);

//他の引数をデフォルト値とする場合、参照できるのは自身より前に定義されたものだけなので下記関数はエラーとなる。
function getV2(a = b, b = 3){
    'use strict';
    return a * b;
}
document.getElementById('hoge5').textContent = getV2();

See the Pen 引数の初期値設定 ES2015 before & after by nwstcode (@nwst) on CodePen.12804

tagTimeLog Lite

Simple time tracking tool
Developed by Namu Works