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

JavaScriptの(function(){})()構文とは?即時実行関数式(IIFE)をわかりやすく解説

JavaScriptにおける (function() { })() という構文は、即時実行関数式(IIFE:Immediately Invoked Function Expression)と呼ばれるものです。これは、定義されたその瞬間に自動的に実行される関数を表します。

基本的な構文

IIFEの基本構文は以下のとおりです。

(function() {
    // ここにコードを記述
})();

仕組みの解説

この構文がどのように動作するのか、順を追って見ていきましょう。

1. 関数を式に変換する最初の括弧

まず、関数全体を囲む最初の丸括弧のペアがあります。この括弧によって、通常の関数宣言ではなく関数式(Function Expression)として扱われるようになります。

function(){...}

JavaScriptでは、functionキーワードで始まる文は関数宣言として解釈されますが、括弧で囲むことで「式」として評価できるようになります。これにより、その場で関数オブジェクトが生成されます。

2. 関数を実行する次の括弧

続く2番目の括弧のペア () が、実際に関数を呼び出す役割を担います。つまり、最初の括弧で生成された関数に対して、直ちに呼び出し(実行)を行っているのです。

IIFEを使うメリット

  • グローバルスコープの汚染を防げる: 関数内で宣言した変数は外部からアクセスできないため、グローバル名前空間を汚しません。
  • 初期化処理に最適: ページ読み込み時に一度だけ実行したい処理などを簡潔に記述できます。
  • プライベートな変数を作れる: クロージャと組み合わせることで、外部から触れないデータを持つモジュール的な構造を実現できます。

引数を渡す例

IIFEには引数を渡すことも可能です。

(function(name) {
    console.log('こんにちは、' + name + 'さん!');
})('太郎');

このように、(function(){})() 構文は「定義と同時に実行される関数」を作るための便利なパターンであり、ライブラリやモジュールの実装などで広く活用されています。

  1. JavaScript DOMとは?基本の仕組みと要素の取得方法をわかりやすく解説

    JavaScriptのDOM(Document Object Model:ドキュメントオブジェクトモデル)は、Webページ上のHTML要素を表現する仕組みです。DOMはインターフェースとして機能し、ページのコンテンツやスタイルを変更することで、Webページを自由に操作できるようにします。 DOMにアクセスするには、Webページ上で右クリックして「検証(Inspect)」を選択します。すると画面の右側または左側にパネルが表示され、現在閲覧しているページのHTML要素を確認できます。要素にマウスカーソルを合わせると、ページ上の該当部分がハイライトされるため、どの要素がページのどのセクションに対応

  2. JavaScriptの無名関数(匿名関数)とは?基本の書き方と使い方をわかりやすく解説

    無名関数(匿名関数)とはJavaScriptには、関数を定義する方法として「関数宣言」と「関数式」があります。このうち関数式は、関数宣言とほぼ同じ構文で記述でき、さらに次の2種類に分けられます。名前付き関数式:関数に名前が付けられているもの(コールスタック上で名前が表示されるため、デバッグ時に便利です)無名関数(匿名関数):関数に名前を付けずに定義するもの本記事では、後者の「無名関数」について、基本的な書き方と使い方を解説します。無名関数の基本的な書き方無名関数は、functionキーワードで関数を定義し、そのまま変数に代入する形で記述します。関数名を指定しない点が最大の特徴です。var my