네임스페이스란 무엇입니까?
네임스페이스는 엔티티, 변수, 함수, 객체 집합을 단일 용어로 래핑하는 행위입니다.
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은 모두 외부에서 액세스 할 수 없습니다.
등록된 댓글이 없습니다.