サーチ…


備考

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