うごく生ゴミプログラマの備忘録

うごく生ゴミ 〜再臨〜

JavaScriptでプライベートなメンバ変数を作る方法メモ

はじめに普通にオブジェクト(ここでは type, name 属性を持った Catオブジェクト)を作る

    function Cat (type, name) {
        this.type = type;
        this.name = name;
    }

    var tama = new Cat('ペルシャ', 'タマ');
    alert(tama.type);   // ペルシャが表示される。
    tama.type = '雑種'; // typeを変更できてしまう。
    alert(tama.type);   // 雑種が表示される。血統書付きのペルシャ猫が雑種呼ばわりとはあんまりだ。

タマが雑種呼ばわりされないために、Catクラスを↓のように書き換えてみる。

    function Cat (type, name) {

        // これから猫種を調べるときはこのメソッドを使うこととする。
        this.getType = function () {
            return type;
        };

        this.getName = function () {
            return name;  
        };
    }

    var tama = new Cat('ペルシャ', 'タマ');
    alert(tama.getType());  // ペルシャが表示される。
    tama.type = '雑種';
    alert(tama.getType());  // 上のコード実行後もペルシャが表示される。