30
JavaScriptプライベートメソッド
パブリックメソッドで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およびuse_restroomメソッドによって呼び出すことができるが、クラスのユーザーによって外部からは呼び出せないプライベートメソッドを作成するにはどうすればよいですか? 言い換えれば、私は私のメソッド実装ができるようにしたいです: Restaurant.prototype.use_restroom = function() { this.private_stuff(); } しかし、これはうまくいかないはずです: var r = new Restaurant(); r.private_stuff(); private_stuffこれらの両方が成り立つようにプライベートメソッドとして定義するにはどうすればよいですか? Doug Crockfordの記事を何度か読んだことがありますが、「プライベート」メソッドをパブリックメソッドから呼び出したり、「特権」メソッドを外部から呼び出したりすることはできないようです。