【JavaScript】最初の引数にデフォルト値を設定することは可能ですか?
結論から言うと、JavaScriptでは最初の引数にもデフォルト値を設定することが可能です。ポイントは、スプレッド構文(...)と配列を組み合わせることです。
通常、関数呼び出し時に第1引数をスキップして第2引数だけに値を渡すことはできませんが、配列を展開して渡すことで、第1引数にundefinedを明示的に渡し、その結果としてデフォルト値が適用されるようにできます。
コード例
以下の例では、第1引数にデフォルト値10を設定し、配列を展開して第2引数のみ値を渡しています。
function multiply(firstParameterDefaultValue = 10, secondParameterValue) {
return firstParameterDefaultValue * secondParameterValue;
}
console.log("The result=" + multiply(...[, 10]));ここでの[, 10]は「要素が空(undefined)」と「10」を持つ配列を意味します。空のスロットを展開するとundefinedが渡されるため、第1引数のデフォルト値10が適用されます。
プログラムの実行方法
上記のプログラムを実行するには、Node.jsを使って以下のコマンドを入力します。
node fileName.js
ここでは、ファイル名をdemo173.jsとして保存しています。
実行結果
このプログラムを実行すると、次のような出力が得られます。
PS C:\Users\Amit\javascript-code> node demo173.js The result=100
出力結果が100になっていることから、第1引数のデフォルト値10と、第2引数として渡した10が正しく掛け合わされていることがわかります。
補足:別の書き方
同様のことは、nullやundefinedを直接渡すことでも実現できます。
console.log(multiply(undefined, 20)); // 結果: 200
JavaScriptでは、引数にundefinedが渡された場合のみデフォルト値が適用されるため、この挙動を活用すれば任意の位置の引数に対して柔軟にデフォルト値を扱えます。
-
JavaScriptでテキストボックスを選択することは可能ですか?select()メソッドの使い方を解説
はい、可能です。JavaScriptのselect()メソッドを使えば、テキストボックス内のテキストを選択状態にすることができます。まずは、テキスト入力欄を作成してみましょう。 テキストボックスとボタンの作成 Enter your Name:<input type="text" id="txtName" value="John"> <br> <button type="button" onclick="check()">Select Text Box<
-
JavaScriptでinnerHTMLを設定する方法をわかりやすく解説
JavaScriptでHTML要素の内容を動的に書き換えたい場合に便利なのが、innerHTMLプロパティです。innerHTMLを使えば、指定した要素の中にHTML文字列をそのまま挿入・置き換えることができます。本記事では、innerHTMLを設定する正しい構文と、実際に動作するサンプルコードを初心者向けに解説します。 innerHTMLを設定する正しい構文 innerHTMLを設定する際の正しい構文は以下のとおりです。 document.getElementById(yourIdName).innerHTML=yourValue; この構文では、まずgetElementById()メソッド