【JavaScript】モジュールパターン

モジュールパターンとは、「オブジェクトのメンバの一部を隠蔽( カプセル化 )するパターン」のこと。

実装の手順

オブジェクトを返す関数を定義する

下記のような空のオブジェクトを返す関数を定義する。

function Module() {
	return {};
}

オブジェクトに使用する変数や関数を定義し、必要なものを公開する

作成した関数内でオブジェクトに使用する変数や関数を定義する。

そして、公開するメンバのみを戻り値のオブジェクトに指定する。

function Module() {
	let _value = "sample";
	
	function _output() {
		console.log( _value );
	}
	
	// 公開するメンバを指定
	return {    
		output: _output,
	};
}

これで実装は完了となる。

使い方

定義した関数をオブジェクトとしてインスタンス化し、公開しているメンバを使用する。

const MODULE = new Module;
MODULE.output();

// _valueは公開してないため、↓はundefinedを出力する
console.log( MODULE._value )