2011/06/21

[JavaScript] オブジェクトにプライベート変数(らしきもの)を作る

JavaScriptのオブジェクト内に外部から編集不可なプライベート変数とそのゲッターの作り方

var OBJ = (function(){


    //varで宣言しているので、このfunction内のローカルな変数になる
    var name = 'Steve';

    return {
        getName: function(){
            return name;
        },
        sayHello: function(){
            return 'Hello,' + name;
        }
    }

}());
OBJ.getName(); //Steve
OBJ.sayHello(); //Hello,Steve
OBJ.name; //undefined


var name は functionに囲われているので、その外には存在しないローカルな変数になる。
なので外からはアクセスできない

ローカル変数を変更するメソッドも作れる


return {
    getName: function(){
        return name;
    },
    sayHello: function(){
        return 'Hello,' + name;
    },
    setName: function(val){
        name = val;
    }
}

OBJ.setName('unko');
OBJ.getName(); //unko;








0 件のコメント:

コメントを投稿