JavaScript

デフォルト引数「=

 編集:2022.08.07 by T.A.

関数に値が渡されない場合や undefined が渡される場合に、デフォルト値で初期化される形式上の引数を指定できます。

関数の引数リストの中で:

変数名 = 初期値
変数名
初期値 変数がundefinedの場合に設定する値。

JavaScript では、関数の引数は、指定しなければ undefined になります。しかし、別な既定値を設定すると有用な場合がよくあります。そのような場合に、デフォルト引数が役立ちます。

以前は、既定値を設定するための一般的な方法は、関数の本体で引数の値を検査し、undefined であった場合に値を代入することでした。

function multiply(a, b = 1) {
  return a * b
}
D=multiply(5, 2);          //=10
D=multiply(5);             //=5
D=multiply(5, undefined);  //=5

曖昧な値を渡した場合:

function test(num = 1) {
  alert(typeof num)
}
test();           //表示:number。(num は 1 に設定される)
test(undefined);  //表示:number。(num は 1 に設定される)

// 他の falsy な値での検査
test('');         //表示:string。(num は '' に設定される)
test(null);       //表示:object。(num は null に設定される)

テスト