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

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

(Javascript)簡単にクロージャを実装する

サイ本などで紹介されているクロージャは、関数内部に変数を定義して、メソッドを使用して変数にアクセスする方法を行っておりますが、変数を定義せずに、メソッドから引数に直接アクセスすれば、簡単にクロージャを実装することができます。

// コンストラクタ
var MyClosure = function(name, address){
	// 内部に変数は定義せず、メソッドから直接引数にアクセスする
	this.getName = function(){
		return name;
	}
	this.getAddress = function(){
		return address;
	}
}

var mc = new MyClosure('hoge', 'piyo@huga');
mc.getName();    // hoge
mc.getAddress(); // piyo@huga

// プロパティには直接触ることができない
mc.name;         // undefined
mc.address;      // undefined