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()); // 上のコード実行後もペルシャが表示される。