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 |