You will be fine

<Javascript> 12. Namespace

by BFine
반응형

Javascript Namespace

1. namespace란

  • 전역 범위의 오염을 방지하기 위한 수단으로 객체나 함수범위로 공간을 만드는 것이다. (이름 충돌방지)

1.1 전역 namespace 오염

  • 전역에 어떤 변수,함수 등을 선언하는 것을 의미한다. (전역으로 선언)
  • 전역 범위로 선언을 하면 Javascript 엔진이 첫머리로 끌어올려 변수나 함수를 하나만 생성한다.
  • 그렇기 때문에 namespace 를 통해 공간을 따로 두어 방지한다.

2. 객체를 활용하는 namespace

  • 객체를 값으로 가지는 전역변수를 정의해서 이안에 변수와 함수를 프로퍼티로 정의한다. (ex. let top = {})
  • 그리고 namespace 안에 namespace 를 가질 수 있다. (ex. top.middle = {})

3. 함수를 활용한는 namespace

  • 함수 안에 선언된 변수의 유효범위는 함수 내부이다.(바깥에서 접근 불가)
  • 그렇기 때문에 외부에서 선언한 변수는 영향을 주지 않는다.
  • 라이브러리 안에 있는 전연변수와 충돌하지 않도록 하기 위해 즉시 실행함수 에 넣어서 사용한다. (함수의 지역변수가 된다.)
let msg = "hello";
 
(function (){
  let msg = "world";
  console.log(msg);//world
})();
 
console.log(msg); // hello

출처

반응형

'공부(2018~2019) - 스킨변경전 > Javascript' 카테고리의 다른 글

<Javascript> 11. Closer  (0) 2019.05.28
<Javascript> 10. Promise  (0) 2019.05.27
<jQuery> 7. Ajax  (0) 2018.04.25
<jQuery> 6. MAP  (0) 2018.04.12
<jQuery> 5. Event object  (0) 2018.04.11

블로그의 정보

57개월 BackEnd

BFine

활동하기