イナヅマTVログ

JavaScriptでOOP – privateぽい関数と変数, staticなやつ

| 2件のコメント

前回の投稿「JavaScript, 匿名関数の実行そして関数と変数の隠匿」を応用するとprivateな関数・変数を作成できます。

var Book = (function (){
    var cost = 1000
    ,tax = 0.05
    ,price = function () {
        return cost * (tax + 1)
    };
    return {
        getPrice : function () {
            return price();//cost * (1 + tax);
        }
        ,getTax : function () {
            return cost * tax;
        }
    };
})();
 
console.log(Book.getPrice());//1050
console.log(Book.getTax());//50
console.log(Book.price());//error

Bookはstaticな関数を持ったクラスのように使えます。

getPrice, getTaxstatic public functionとして利用できます。
cost, tax, priceはprivateのように隠匿され外部からアクセスできません。

2件のコメント

  1. ピンバック: JavaScriptでOOP – Classみたいなのにprivateな関数と変数 | イナヅマtvログ

  2. ピンバック: 超個人的メモ, JavaScript関連の投稿リンクをまとめておく - イナヅマtvログ

コメントを残す

必須欄は * がついています


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください