umilove98의 블로그

IIFE(Immediately-Invoked Function Expression) 즉시실행함수 본문

language,framework,library/Javascript

IIFE(Immediately-Invoked Function Expression) 즉시실행함수

umilove98 2022. 10. 29. 20:50
반응형

익명함수를 만들면서 바로 실행하고 싶을 때가 있다.

 

어떤 수에 10을 더하는 다음과 같은 함수가 있다고 하자

 

1
2
3
4
5
const a = 5
function ten(){
    console.log(a + 10)
}
ten()
cs

일반적인 방법으로는 이렇게 ten 이라는 이름의 함수를 생성한 후 해당 함수를 호출하는 방법으로 실행된다.

 

단 한번 만들어서 즉시 실행해버리고 싶은 경우에는 

 

1
2
3
4
const a = 5
(function() {
    console.log(a + 10)
}())
cs

이러한 형태로 즉시 실행 함수를 동작시킬 수 있다.

 

이 때 자바스크립트 엔진이 즉시실행함수와 그 전의 코드를 명확하게 구분하지 못하여 에러가 발생할 수 있다. 

 

이를 방지하기 위해 즉시실행함수를 사용할 때는 해당 코드의 앞 코드가 끝날 때 반드시 세미콜론(;)을 붙여 코드를 구분할 수 있게 하는 것으로 에러를 방지할 수 있다.

반응형