목차
- 즉시 실행 함수란?
- 즉시 실행 함수의 기본적인 구조
1. 즉시 실행 함수란?
즉시 실행 함수, IIFE(Immediately-involked-function)는 말 그대로 즉시 실행되는 함수이다. 즉시 실행 함수는 주로 함수를 선언하자마자 바로 호출을 할 때 사용된다. 아래 예를 보면 이해가 될 것이다. 아래 코드를 분석해 보자면 변수 a에 1이라는 수를 넣어주었고 x를 매개변수로 가지는 ong 함수를 호출하였다. ong 함수가 호출되면 문서에 매개변수 x에 1을 더한 값을 쓴다. 함수를 호출할때 매개변수 x에 a, 즉 1을 넣었기 때문에 2가 나온다. 이런 경우에는 선언이 되자마자 호출이 되었기 때문에 주로 이런 상황에서 즉시 실행 함수를 사용하는 것이 좋다.
const a = 1
function ong(x){
document.write(x + 1)
}
ong(a)
2. 즉시 실행 함수 사용법
위에서 우린 즉시 실행 함수가 어떤 상황에서 쓰이는지 배웠다. 위의 코드를 즉시 실행 함수로 바꾸면 다음과 같다. 즉시 실행 함수는 두 가지가 있다. 한 가지는 (function (){})()형태 이고 다른 형태는 (function (){}())이다. 해당 과정을 자세하게 설명 해보자면 소괄호 안에 익명 함수를 선언하고 중괄호가 끝나는 부분에 소괄호를 적거나 소괄호 안에 익명 함수를 선언하고 익명 함수가 끝나는 부분에 소괄호 한쌍을 적는 방법이 있다.
const a = 1;
//ex1: (function{})()
(function (){
document.write(a + 1)
})();
//ex2: (function{}())
(function (){
document.write(a + 1)
}());
2-1. 즉시 실행 함수 사용시에 주의 해야하는것
C나 C++을 다뤄본 사람이라면 세미콜론(;)에 익숙할 것이다. 세미콜론은 한 코드 문장이 끝날때마다 사용된다. 자바스크립트는 그런 규율이 매우 자유로운 언어에 속하기 때문에 대부분의 경우에는 생략해도 된다. 하지만 즉시 실행 함수 사용 시에는 전 문장에서 세미콜론을 이용하여 해당 문장이 끝났다고 말을 해줘야 한다. 그렇지 않으면 아래와 같이 에러가 난다.
'Js' 카테고리의 다른 글
[Javascript]9. 호이스팅의 개념과 TDZ (2) | 2022.02.09 |
---|---|
[Javascript]7. 기본적인 화살표 함수의 사용법 (0) | 2022.02.07 |
[Javascript]6. 함수 선언과 호출 (6) | 2022.02.03 |
5. [Javascript] 반복문-for, while, break, continue (2) | 2022.01.17 |
[Javascript]4. switch 조건문-구조와 if문과의 차이점 (2) | 2022.01.17 |