JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで複数の引数を持つ関数にundefinedを渡す方法

undefinedを引数として渡す基本の書き方

JavaScriptでは、複数の引数を持つ関数に対して、特定の引数だけを意図的に「未定義(undefined)」として渡すことができます。たとえば、第2引数には値を渡したいけれど、第1引数は空にしておきたいという場合、次のように undefined を明示的に指定するだけでOKです。

displayFunc(undefined, "Amit");

undefined はJavaScriptにおける特殊なプリミティブ値で、「値が定義されていない」ことを表します。明示的に undefined を渡すことで、その引数は省略されたものとして扱われます。なお、関数側でデフォルト引数が設定されている場合は、undefined を渡すとデフォルト値が適用される点にも注意してください。

サンプルコード

以下は、第1引数に undefined を設定した状態で、第2引数を正しく表示する例です。

<!DOCTYPE html>
<html>
<body>
<script>
   function displayFunc(p1, p2) {
      document.write("第1引数 = " + p1);
      document.write("<br>第2引数 = " + p2);
   }
   displayFunc(undefined, "Amit");
</script>
</body>
</html>

実行結果

第1引数 = undefined
第2引数 = Amit

このように、第1引数には文字列 "undefined" ではなく、予約語である undefined そのものを渡しているため、出力上も「undefined」と表示されます。もし引用符で囲んで "undefined" のように渡してしまうと、それは単なる文字列として扱われてしまうため、意図した動作にならない点に注意しましょう。

  1. JavaScriptで関数に引数が渡されているかどうかを判定する方法

    関数に引数(パラメーター)が渡されているかどうかを判定するには、if 条件文を使い、値が undefined かどうかをチェックします。引数が省略された場合、その仮引数には undefined が自動的に代入されるため、この性質を利用したシンプルな判定方法です。コード例以下のコードを見てみましょう。function checkingParameter(parameter) { if (parameter !== undefined) { console.log(Parameter is provided.); } else { console.l

  2. JavaScriptのreduceとrangeを組み合わせて階乗関数を作成する方法

    JavaScriptで階乗を計算する関数を、ヘルパー関数 range() を活用して実装する方法を解説します。range 関数は、1から入力された数値までの連続した整数を要素とする配列を生成します。その後、メインの階乗関数がこの配列に対して Array.prototype.reduce() を実行し、全要素を乗算することで階乗を求めます。コード例実際の実装コードは以下の通りです。const range = (start, end) => { const acc = []; for (var i = start; i < end; i++) { acc