サーチ…
備考
Javascriptでは、名前空間の概念はなく、さまざまな言語でコードを編成するのに非常に便利です。 JavaScriptの場合、プログラムで必要とされるグローバルの数を減らすと同時に、名前の衝突や過度の名前の接頭辞を避けるのに役立ちます。多くの関数、オブジェクト、およびその他の変数を使用してグローバルスコープを汚染する代わりに、アプリケーションまたはライブラリのグローバルオブジェクトを1つ(理想的には1つ)作成できます。
直接割り当てによる名前空間
//Before: antipattern 3 global variables
var setActivePage = function () {};
var getPage = function() {};
var redirectPage = function() {};
//After: just 1 global variable, no function collision and more meaningful function names
var NavigationNs = NavigationNs || {};
NavigationNs.active = function() {}
NavigationNs.pagination = function() {}
NavigationNs.redirection = function() {}
ネストされた名前空間
複数のモジュールが関係している場合は、単一のグローバル名前空間を作成してグローバル名を広げないでください。そこから、任意のサブモジュールをグローバル名前空間に追加することができます。ネストを重ねるとパフォーマンスが低下し、複雑さが増します。名前の衝突が問題になる場合は、より長い名前を使用できます。
var NavigationNs = NavigationNs || {};
NavigationNs.active = {};
NavigationNs.pagination = {};
NavigationNs.redirection = {};
// The second level start here.
Navigational.pagination.jquery = function();
Navigational.pagination.angular = function();
Navigational.pagination.ember = function();
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow