Immediately Invoked Function Expressions [IIFE]


- JUST FOR DATA PRIVACY!!!

- 정의와 동시에 즉시 실행되는 함수

- 변수에 프라이버시를 주기 위해 함수를 생성하는건 비효율적임으로 IIFE형식을 이용한 1회성 함수를 만듬으로써 변수에 프라이버시를 부여

 

 

- 비효율적 예시

function game(){
    var score = Math.random() * 10;
    console.log(score >= 5);
}
game();

: if the only purpose of making function is hiding variables in a private function. we don't need to make named function like this.

-> so, use IIFE!!!

 

 

 

- IIFE

(function() {
    var score = Math.random() * 10;
    console.log(socore >= 5);
})();
// ()를 씀으로써 펑션으로써 바로 실행, 시스템을 속임
// 외부에서 score 변수에 바로 접근할 수 없으며 data privacy를 줌
console.log(socore)// printed undefined

//매개변수를 전달해줄수도 있음
(function(goodLuck) {//2.<-5를 전달받음
    var score = Math.random() * 10;
    console.log(socore >= 5 - goodLuck);// 3. 계산
})(5);//1.<-매개변수로 전달

: ()를 씀으로써 펑션으로써 바로 실행, 시스템을 속임
외부에서 score 변수에 바로 접근할 수 없으며 data privacy를 줌

'javascript' 카테고리의 다른 글

JavaScript/ Bind, Call and Apply  (0) 2020.02.24
JavaScript/ Closure  (0) 2020.02.24
JavaScript/ First-Class Functions  (0) 2020.02.24
JavaScript/ Primitives vs Objects  (0) 2020.02.24
JavaScript/ Function constructor  (0) 2020.02.24