1
저는 항상 자바 스크립트 클로저를 데이터 캡슐화를위한 완벽한 방법이라고 생각했습니다. 일종의 변수를 private로 만드는 것입니다. 하지만 최근에이 패턴이 아주 쉽게 악용 참조 시멘틱스에 의해 파괴되는 것을 깨달았다데이터 캡슐화를위한 JavaScript 클로저가 우회 될 수 있습니까?
function creator() {
var x = {
key: 3
};
return function() {
return x;
}
}
var instance = creator();
var y = instance();
y.key = 4;
//returns 4
//y is a refernce to x
console.log(instance());
어떻게 민간 부분 (creator()
의 범위에 정의 된 변수는 외부에서 돌연변이 될 수 없음을 확인 할
고마워요, 제가 찾고 있었던 것과 정확히 일치합니다. –
괜찮 았어! ;) – morels