アプリ版:「スタンプのみでお礼する」機能のリリースについて

Javascriptの関数でデフォルト値は設定できますか?
下記の書き方ですと関数の呼出し側で、引数を省略した際
エラーになってしまいます。

test1(1,2);
test1(1,2,3);
test1(1,2,3,4);

function test1(a,b,c=1,d=1) {
alert (c);
alert (d);
}

A 回答 (2件)

JavaScript の関数では、デフォルト引数というものがありません。



こういったあたりも「 Java と JavaScript は全くの別物である」という一例ですね。
    • good
    • 0

JavaScriptでは、関数への引数の省略は問題なく行えますが、その際のデフォルト引数を設定する機能はありません。


ただ、引数が設定されなかった変数は「undefined」となっているので、それをチェックして自分で値を設定すれば、デフォルト引数の機能は実現できます。

function test1(a, b, c, d) {
  if (c == undefined) c = 1;
  if (d == undefined) d = 1;
  alert(c);
  alert(d);
}

こんなんで、どうでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!