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

JavaScriptのデフォルト引数(デフォルトパラメータ)とは?基本と使い方を解説

JavaScriptのデフォルト引数(デフォルトパラメータ)は、関数の引数に初期値を設定できる便利な機能です。呼び出し時に引数が渡されなかった場合、またはundefinedが渡された場合に、あらかじめ設定しておいたデフォルト値が自動的に適用されます。

デフォルト引数の仕組み

従来のJavaScriptでは、引数が省略された場合にundefinedが代入されるため、関数内で条件分岐を使って初期値を設定する必要がありました。ES6(ECMAScript 2015)以降では、引数の定義時に直接デフォルト値を指定できるため、コードがシンプルで読みやすくなります。

デフォルト値が適用されるのは、以下の場合です。

  • 引数がまったく渡されなかった場合
  • undefinedが明示的に渡された場合

なお、null0、空文字列などは「値が渡されている」とみなされるため、デフォルト値には置き換わりません。

サンプルコード

以下の例では、inc関数の第2引数にデフォルト値として1を設定しています。

<html>
   <body>
      <script>
         // inc のデフォルト値は 1
         function inc(val1, inc = 1) {
            return val1 + inc;
         }

         document.write(inc(10, 10)); // 第2引数を指定 → 20
         document.write("<br>");
         document.write(inc(10)); // 第2引数を省略 → デフォルト値 1 が適用され 11

      </script>
   </body>
</html>

実行結果

20
11

このように、inc(10, 10)のように両方の引数を渡した場合は20が出力されます。一方、inc(10)のように第2引数を省略した場合は、デフォルト値の1が使われ、結果は11になります。

まとめ

デフォルト引数を使うことで、引数の省略時の挙動を明確に定義でき、if文によるチェック処理を書く必要がなくなります。オプション的な引数を持つ関数を設計する際には、ぜひ活用したい機能です。

  1. JavaScriptの部分関数(Partial Function)とは?仕組みと実装例をわかりやすく解説

    部分関数(Partial Function)とは、既存の関数を引数として受け取り、それに加えて別の型の引数も同時に受け取れるようにする仕組みです。まず渡された引数の一部を使い、残りの引数を受け取る新しい関数を返します。そして、返された関数が呼び出されるときに、あらかじめ固定しておいた引数とそのときに渡された引数をすべて組み合わせて、元の親関数が実行されます。 この手法は「部分適用(Partial Application)」とも呼ばれ、関数型プログラミングの基本的なテクニックのひとつです。共通する引数を先に束縛しておくことで、処理の再利用性やコードの可読性を高めることができます。 コード例 以下

  2. JavaScriptのクロージャとは?仕組みと実装例をわかりやすく解説

    クロージャとはJavaScriptにおけるクロージャ(Closure)とは、外側の関数の実行が完了して値を返した後であっても、内側の関数から外側の関数のスコープ(変数)にアクセスできる仕組みのことです。言い換えれば、内側の関数は、外側の関数の変数に対して常にアクセスできるということです。この性質を活用することで、データを外部から直接操作されないように隠蔽したり、関数の呼び出し間で状態を保持する処理を実現したりすることが可能になります。クロージャのサンプルコード以下は、JavaScriptでクロージャを使用した具体的なコード例です。ボタンをクリックすると、クロージャによって保持された値を使って2