수색…


비고

Javascript에서는 네임 스페이스에 대한 개념이 없으며 다양한 언어로 코드를 구성하는 데 매우 유용합니다. 자바 스크립트의 경우 프로그램에서 요구하는 전역 수를 줄이는 동시에 충돌 또는 과도한 이름 접두사의 이름 지정을 피하는 데 도움이됩니다. 함수, 객체 및 기타 변수가 많은 전역 범위를 오염시키는 대신 응용 프로그램이나 라이브러리에 대해 하나의 전역 객체를 만들 수 있습니다.

직접 할당을 통한 네임 스페이스

 //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