設定する引数が複数あり、第1引数を飛ばして第1引数のみを設定する、みたいなことをしたい場合の方法です。
サンプルコード
まずは普通に引数を設定してみます。
JavaScript
function greetings(name, greeting) {
alert(name + 'さん ' + greeting);
}
greetings('越谷 夏海', 'にゃんぱすー'); // 越谷 夏海さん にゃんぱすー
このサンプルで第2引数のみ設定したい場合、第1引数を飛ばすと第2引数が第1引数と見なされてしまうため、第1引数を空文字にするなどの対応が必要になります。
引数設定のデモページ
サンプルコード2
引数をオブジェクトにして、初期値を設定してみます。
JavaScript
function greetings(options) {
// 初期値の設定
options = options || {};
if(options.name == null) options.name = 'unknown';
if(options.greeting == null) options.greeting = 'こんにちは';
alert(options.name + 'さん ' + options.greeting);
}
greetings({
name: '一条 蛍',
greeting: 'にゃんぱすー'
}); // 一条 蛍さん にゃんぱすー
greetings({
name: '越谷 小鞠'
}); // 越谷 小鞠さん こんにちは
greetings({
greeting: 'にゃんぱすー'
}); // unknownさん にゃんぱすー
greetings({}); // unknownさん こんにちは
greetings(); // unknownさん こんにちは
これで引数が設定されていない場合は初期値が適用されるようになりました。
引数設定のデモページ2
【参考サイト】
コメントが承認されるまで時間がかかります。