본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다.
24.5 캡슐화와 정보 은닉
- 캡슐화 : 프로퍼티와 메서드를 하나로 묶는 것
- 정보 은닉 : 캡슐화를 하여, 객체의 특정 프로퍼티, 메서드를 감출 목적으로 사용
- 객체의 상태가 변경되는 것을 방지해 정보를 보호, 결합도를 낮춤
- JavaScript의 모든 프로퍼티와 메서드는 기본적으로 외부에 공개됨(public)
- 함수의 지역 변수는 외부에서 참조 및 접근 불가(private)
24.6 자주 발생하는 실수
- var의 경우 함수 레벨 스코프 특성상 클로저 생성이 안되는 경우가 있음
- let 키워드로 교체하면 해결
var funcs = [];
// i는 전역변수 취급되어 최종적으로 3이 할당
for (var i = 0; i < 3; i++){
funcs[i] = function () { return i; };
}
for (var j = 0; j < funcs.length; j++) {
console.log(funcs[j]()); // 3이 출력
}
'programming study > JavaScript' 카테고리의 다른 글
25장. 클래스(2) (0) | 2022.04.04 |
---|---|
25장. 클래스(1) (0) | 2022.04.02 |
24장 클로저(2) (0) | 2022.04.01 |
24장 클로저(1) (0) | 2022.03.29 |
23장 실행 컨텍스트(5) (0) | 2022.03.27 |