공용 메소드를 사용하여 JavaScript 클래스를 만들려면 다음과 같이하십시오.
function Restaurant() {}
Restaurant.prototype.buy_food = function(){
// something here
}
Restaurant.prototype.use_restroom = function(){
// something here
}
그렇게하면 내 수업의 사용자는 다음을 수행 할 수 있습니다.
var restaurant = new Restaurant();
restaurant.buy_food();
restaurant.use_restroom();
buy_food
and use_restroom
메소드 는 호출 할 수 있지만 클래스 사용자는 외부 적 으로 호출 할 수없는 개인용 메소드를 작성하려면 어떻게해야 합니까?
즉, 메소드 구현이 가능할 수 있기를 원합니다.
Restaurant.prototype.use_restroom = function() {
this.private_stuff();
}
그러나 이것은 작동하지 않아야합니다.
var r = new Restaurant();
r.private_stuff();
private_stuff
개인 메소드로 정의 하여 두 가지 모두를 충족 시키려면 어떻게해야 합니까?
Doug Crockford의 글 을 몇 번 읽었 지만 "비공개"메서드는 공용 메서드로 호출 할 수 있고 "비공개"메서드는 외부에서 호출 할 수있는 것처럼 보이지 않습니다.