Home [JavaScript] IIFE (즉시 실행 함수)
Post
Cancel

[JavaScript] IIFE (즉시 실행 함수)

IIFE (즉시 실행 함수)

일단 IIFE를 공부하기전 함수의 선언과 함수의 표현에 대해서 알아보자 !

함수 선언식 / 함수 표현식

  • 함수 선언식
    • 함수를 정의하고, 함수를 할당할 변수를 만들지 않는다.
  • 함수 표현식
    • 함수가 변수로 할당될 수 있다. 또한 함수가 익명일 수도 있고, 다른 함수 표현식의 일부가 될 수도 있다.
1
2
3
4
5
6
7
8
9
// 함수선언식
function hello() {
	// ...
};

// 함수표현식
var hello=function() {
	// ...
};

IIFE(Immediately Invoked Function Expressions)

  • 정의되자마자 즉시 호출되는 함수

  • 기본적인 형태

1
2
3
4
5
6
7
(function() {
	// 생략 ...
})();

(function(name) {
    // 생략 ...
})('dahyun');
  • 특징
    • 불필요한 전역 변수와 함수를 생성하지 않는다.
    • IIFE안에 존재하는 코드는 외부에서 접근할 수 없다.
    • IIFE에서 생성된 변수와 함수의 이름은 전역 Scope를 오염시키지 않는다.(충돌하지 않는다.)
  • 다양한 표현식
1
2
3
4
5
6
7
8
!function(a, b) { return console.log(a + b) }(1, 2); // 3
void function(a, b) { return console.log(a + b) }(1, 2); // 3
+function(a, b) { return console.log(a + b) }(1, 2); // 3
-function(a, b) { return console.log(a + b) }(1, 2); // 3
~function(a, b) { return console.log(a + b) }(1, 2); // 3
*function(a, b) { return console.log(a + b) }(1, 2); // 3
^function(a, b) { return console.log(a + b) }(1, 2); // 3
&function(a, b) { return console.log(a + b) }(1, 2); // 3
This post is licensed under CC BY 4.0 by the author.