댓글 검색 목록

[javascript] JavaScript의 네임스페이스

페이지 정보

작성자 운영자 작성일 20-07-08 09:53 조회 557 댓글 0

네임스페이스란 무엇입니까?


네임스페이스는 엔티티, 변수, 함수, 객체 집합을 단일 용어로 래핑하는 행위입니다.


JavaScript에는 여러 가지 방법이 있으며 예제를 보면 개념을 보다 쉽게 ​​이해할 수 있습니다.


네임스페이스를 만드는 가장 간단한 방법은 객체 리터럴을 만드는 것입니다.


const car = {
  start: () => {
    console.log('start')
  },
  stop: () => {
    console.log('stop')
  }
}


이런 식으로 시작 및 중지는 car.start() 및 car.stop()에서 네임스페이스로 지정됩니다.


그들은 전역 객체를 오염시키지 않습니다.


이것이 왜 중요한가? 좋은 이유는 아무것도 방해 할 수 없다는 것입니다


이 방법은 변수를 만든 후에 변수를 객체에 할당하여 작동합니다.


const car = {}

car.start = () => {
  console.log('start')
}

car.stop = () => {
  console.log('stop')
}


그러나 car 객체 참조 덕분에 외부에서 여전히 액세스 할 수 있습니다.


외부에서 코드를 완전히 숨기는 가장 좋은 방법은 if ​​또는 for 블록과 같이 중괄호로 묶인 코드의 일부인 블록으로 감싸는 것입니다.


{
  const start = () => {
    console.log('start')
  }

  const stop = () => {
    console.log('stop')
  }
}


이 두 함수는 이제 블록 외부에서 액세스 할 수 없습니다.


그러나 항상 블록 범위 인 let 또는 const를 사용할 때는 주의를 기울여야 합니다.


대신 var를 사용하면 블록 외부에서 "누수"됩니다.


이 문제를 해결하려면 "오래된"프리 렛 / 콘스트 방식인 함수를 사용할 수 있습니다.


(function() {
  var start = () => {
    console.log('start')
  }

  const stop = () => {
    console.log('stop')
  }
})()


var로 정의 된 변수에 start가 지정되어 있어도 start 및 stop은 모두 외부에서 액세스 할 수 없습니다.



댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.