[JavaScript] 즉시 실행 함수

정호·2023년 4월 15일
0

JavaScript

목록 보기
10/12
post-thumbnail

즉시 실행함수란?

말그대로 정의되자마자 즉시 실행되는 함수 표현식을 말한다.

전역 스코프에 불필요한 변수를 추가해서 오염을 방지하고 내부로 다른 변수들의 접근을 막을 수 있다.

// 일반적인 함수 표현식
var app = function() {
    console.log('함수 호출'); // "함수 호출" 출력
};
app();


// 즉시실행함수
(function() {
    console.log('함수 호출'); // "함수 호출" 출력
}());

사실 이름을 지어줘도 상관은 없다.
근데 어차피 한번 자동으로 실행된 이후에 생명을 다하니까 의미가 없는거 같다.

표현 방법

//아래 함수선언문은 아무것도 반환하지 않는다(혹은 undefined)
function() {
} 

//이런 표현식을 쓰면 !undefined는 true를 반환한다. 그리고 바로 실행하기도 함. 단, 리턴값이 없어야함
!function() {
}()

//함수 실행의 결과로 실제 반환되는 값을 얻으려면
(function(){
})();

//익명 즉시실행함수(더글러스 클락포드 권장표기법)
(function() {
}());

✏️ 사용하는 이유

  1. 클로저 구현
let func = (function() {
  var counter = 0;
      
  return function(){ // 클로저
    return ++counter; 
  }
})();

func(); // 1
func(); // 2
func(); // 3
  1. . async / await 비동기 처리를 바로 사용
(async () => {
  ... 코드1
  await promise();
  ... 코드2
})();

주의할 점

즉시 실행함수를 사용할 때는 세미콜론 (;)을 붙여줘야 한다.

profile
열심히 기록할 예정🙃

0개의 댓글