→
関数に値が渡されない場合や 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 に設定される)