자바스크립트는 수정할 수 없는 프로퍼티 기능을 지원한다.
그러나 주요 브라우저에서 아직 이 기능을 구현하지 않았으므로 이용할 수가 없다. 대신 자바스크립트의 익명 함수를 이용해 내부에서만 접근할 수 있는 비고액 범위를 만들 수 있다.
var Person = function() {};
(function() {
var findById = function() {};
Person.find = function(id) {
if(typeof id == 'integer') return findById(id);
}
})();
위 예제에서는 클래스의 모든 프로퍼티를 익명 함수로 감쌌다. 따라서 지역 변수 findById는 현재 범위에서만 접근할 수 있다. Person 변수는 전역으로 정의했으므로 어디에서나 접근할 수 있다.
키워드 var을 사용하면 전역 변수가 되므로 변수를 정의할 때 var은 절대 사용하지 않는다. 전역변수를 정의하고 싶다면 전역 영역에서 변수를 선언하거나 윈도우에서 프로퍼티로 선언한다.
(function(exports) {
var foo = 'bar';
// 변수 노출
exports.foo = foo;
})(window);
'자바스크립트' 카테고리의 다른 글
ORM 만들기 (0) | 2022.04.09 |
---|---|
MVC와 명칭공간 (0) | 2022.04.09 |
클래스 라이브러리에서 범위 조절하기 (0) | 2022.04.03 |
함수 호출 (0) | 2022.04.03 |
클래스 라이브러리에 상속 기능 추가하기 (0) | 2022.04.03 |