수정할 수 없게 만드는 방법
확장가능 속성, 재정의 가능속성, 쓰기 가능 속성
객체의 확장가능(extensible)
9.7.2 확장방지: Object.preventExtensions 메서드
인수로 받은 객체는 더이상 확장 불가능.
var person = { name: "Tom"};
Object.preventExtensions(person)'
person.age = 17;
console.log("age" in person);
Object.isExtensible 메서드 사용 - 확장가능한지 확인 가능
9.7.3 밀봉: Object.seal 메서드
인수로 받은 객체를 밀봉. 프로퍼티 추가 금지, 기존의 모든 프로퍼티 재정의 불가
추가, 삭제, 수정 불가 / 읽기, 쓰기만 가능
9.7.4 동결: Object.freeze 메서드
객체에 프로퍼티를 추가하는 것을 금지. 기존의 모든 프로퍼티를 재정의 할 수 없게 만듦
읽기만 가능해진 상태
단, 접근자 프로퍼티가 정의되어있다면 getter함수와 setter함수 모두 호출 가능.
Object.isFrozen();
Object.seal()을 사용해 봉인된 객체는 존재하는 속성을 변경할 수 있습니다.
Object.freeze()로 동결된 객체에서는 존재하는 속성이 불변입니다.
728x90
'JavaScript' 카테고리의 다른 글
배열과 유사배열 (0) | 2021.07.15 |
---|---|
비동기 처리 - Promise (0) | 2020.07.19 |
커스텀 이벤트 (0) | 2020.07.17 |
8.10 콜백함수 (0) | 2020.07.16 |