1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【JavaScript】即時関数とは

Posted at

はじめに

JavaScriptの即時関数の理解が曖昧だったのでまとめました。

即時関数とは

JavaScriptの関数の形態の一つで、定義されるとすぐに実行されるという特徴を持ちます。
英語ではImmediately-Invoked Function ExpressionIIFEと呼ばれます。

構文は次のようになります。

(function() {
	//処理
})();

もしくは

((function() {
	//処理
}())

アロー関数の形では次のように書けます。

(() => {
	//処理
})();

即時関数のメリット

変数の有効範囲を狭くすることができるということです。

即時関数を使用すると処理が一時的なスコープの中で実行されるため、変数の有効範囲を狭くすることができます。

変数の有効範囲を狭くすることは、可読性や保守性を高めるために重要なことです。
(参考: 変数と関数の有効範囲を最小限にする)

また、即時関数を使用することで変数名や関数名の衝突を防ぐこともできます。

即時関数のデメリット

  • 関数の再利用ができない
  • 即時関数を多用してスコープが多くなるとメモリを多く消費する可能性がある

などのデメリットもあります。

即時関数を使用する場面

  • 変数のスコープを限定したい
  • ライブラリやフレームワークとの名前の衝突を防ぎたい
  • 初期化処理を一回だけ行いたい

参考サイト

JavaScriptで即時関数を使う理由
JavaScriptの即時関数
変数と関数の有効範囲を最小限にする

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?