ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Javascript] 즉시 실행 함수 IIFE
    프로그래밍 언어/JavaScript 2024. 1. 18. 18:20

    즉시 실행 함수란? (IIFE)

    정의되자마자 즉시 실행되는 함수로 소괄호로 함수를 감사 실행하는 문법이다.
    (function () {
        console.log("IIFE");
    })();
    
    // 화살표 함수로도 사용 가능하다
    (() => {
        console.log("IIFE");
    })();
    • 선언과 동시에 출력한다는 것을 알 수 있다.
    • 기명 함수로 사용할 수 있지만 선언과 동시에 호출되어 반환되어 재사용 할 수 없기에 이름을 지어주는 것이 의미가 없다.

    특징

    • 필요없는 전역 변수의 생성을 줄일 수 있다
    • private한 변수를 만들 수 있다.

     

    활용예제

     

    단 한번의 사용이 필요한 함수 

    let isAdult;
    
    (function init(age) {
        let currentAge = age;
        if (age >= 20) {
            isAdult = true;
        } else {
            isAdult = false;
        }
    })(20);
    
    console.log(isAdult); //  true
    console.log(currentAge); //  Uncaught ReferenceError: currentAge is not defined
    • 변수를 초기화해주는 함수가 대표적으로 있으며 아래 호출에서 currentAge는 private하게 접근할 수 없는 변수가 되었다

     

    const Counter = (function counterIIFE() {
        // 현재 counter 값을 저장하기 위한 변수
        let current = 0;
    
        return {
            getCurrentValue: function () {
                return current;
            },
    
            increaseValue: function () {
                current = current + 1;
                return current;
            },
    
            decreaseValue: function () {
                current = current - 1;
                return current;
            },
        };
    })();
    
    console.log(Counter.getCurrentValue()); // 0
    console.log(Counter.increaseValue()); // 1
    console.log(Counter.decreaseValue()); // 0
    • 위 예제의 current 변수는 private하기에 클로저를 통한 접근 외에는 접근 및 수정이 불가능하다

     

     

     

     

     

     

     

     

     

     

     

    댓글

Designed by Tistory.