1. Object.preventExtensions Object의 확장을 막는다.
const arr = [1, 2, 3]
Object.preventExtensions(arr)
arr[0] = 5
arr.pop()
try {
arr.push(3)
} catch(err){
console.error(err)
}
console.log(arr)
실행결과를 보자
pop은 정상적으로 작동하나, push에 대해서만 안되는 것을 볼 수 있다.
2. Object.seal Object의 확장, 축소를 막는다.
const arr = [1, 2, 3]
Object.seal(arr)
arr[0] = 5
try {
arr.pop()
} catch(err) {
console.error(err)
}
try {
arr.push(4)
} catch(err){
console.error(err)
}
console.log(arr)
실행결과를 보자
pop과 push 둘다 안되는 것을 볼 수 있다.
3. Object.freeze Object의 확장, 축소, 변경을 막는다.
const arr = [1, 2, 3]
Object.freeze(arr)
arr[0] = 5
try {
arr.pop()
} catch(err) {
console.error(err)
}
try {
arr.push(4)
} catch(err){
console.error(err)
}
console.log(arr)
실행결과를 보자.
push, pop도 막혔으며, 속성의 변경까지 안되었음을 확인 할 수 있다.
댓글
댓글 쓰기