フロントサイドエンジニアという選択肢

HTMLコーダー → ECサイト運営 → システムエンジニア という経歴の著者がフロントサイトエンジニアという職業に今後の活路を見出し、その道に進むために取得した技術を貯めておくブログ

(Javascript)オブジェクトにprivate変数を持たせる

Javascriptにはアクセス修飾子がありませんが、クロージャを使用することで外部からはアクセス出来ないprivate変数を持たせることが出来ます。

以下の例は、プライベート変数と、ゲッター・セッターを持たせたオブジェクトの生成方法です。

function myObject()
{
    // プロパティではないのでアクセスは出来ない
    var name = 'あああ';
    
    // ゲッター
    this.getName = function()
    {
        return name;
    };
    
    // セッター
    this.setName = function(value)
    {
        name = value;
    }
}

var obj = new myObject();
document.write( obj.getName() ); // あああ
document.write(obj. name ); // undefined

obj.setName('いいい');
document.write( obj.getName() ); // いいい