JavaScript - Closure로 private member 만들기
in JS
- 외부로부터의 접근 제어
- 전역스코프의 변수 최소화
var createCar = function(f, p){
var fuel = f;
var power = p;
var total = 0;
return{
run: function(km){
var wasteFuel = km/ power;
}
}
}
외부에는 run만 노출됨.
- 함수에서 지역변수 및 내부함수 등을 생성한다.
- 외부에 노출시키고자 하는 멤버들로 구성된 객체를 리턴한다.
이러면 리턴 객체에 포함 안된애들은 private, 객체에 포함된 애들은 public이다.
return function : 최초 선언시의 정보를 유지한다. 그래서 함수 안의 함수로 리턴시키면 그 리턴된 애의 밖에 있는 애는 모를 수밖에 없다.