라이브러리

[JAVASCRIPT] Object.seal(obj) - 객체의 속성 추가를 금지하되 기존 속성 수정은 가능하게 만듦




Object.seal() 메서드

`Object.seal()` 메서드는 객체의 프로퍼티를 읽기/쓰기 불변으로 만드는 메서드입니다. 이 메서드는 객체의 프로퍼티를 변경하거나 삭제하는 것을 방지하며, 객체의 프로퍼티를 읽기 전용으로 만듭니다.

Object.seal() 메서드의 특징

* 객체의 프로퍼티를 읽기/쓰기 불변으로 만듭니다.
* 객체의 프로퍼티를 변경하거나 삭제하는 것을 방지합니다.
* 객체의 프로퍼티를 읽기 전용으로 만듭니다.

Object.seal() 메서드의 예제

#hostingforum.kr
javascript

// 객체 생성

let person = {

  name: 'John',

  age: 30,

  address: {

    street: '123 Main St',

    city: 'New York'

  }

};



// Object.seal() 메서드 호출

Object.seal(person);



// 프로퍼티 변경 시 에러 발생

try {

  person.name = 'Jane';

} catch (e) {

  console.log(e); // TypeError: Cannot create property 'name' on a non-object

}



// 프로퍼티 삭제 시 에러 발생

try {

  delete person.age;

} catch (e) {

  console.log(e); // TypeError: Cannot delete property 'age' of #

}



// 읽기 전용 프로퍼티

console.log(person.address.street); // '123 Main St'

try {

  person.address.street = '456 Main St';

} catch (e) {

  console.log(e); // TypeError: Cannot create property 'street' on a non-object

}



Object.seal() 메서드의 사용 사례

* 객체의 프로퍼티를 변경하거나 삭제하는 것을 방지해야 할 때 사용합니다.
* 객체의 프로퍼티를 읽기 전용으로 만들고 싶을 때 사용합니다.

Object.seal() 메서드의 제한 사항

* 객체의 프로퍼티를 변경하거나 삭제하는 것을 방지하기 때문에, 객체의 프로퍼티를 동적으로 추가하거나 삭제하는 것은 불가능합니다.
* 객체의 프로퍼티를 읽기 전용으로 만들기 때문에, 객체의 프로퍼티를 변경하거나 삭제하는 것은 불가능합니다.

Object.seal() 메서드의 결론

`Object.seal()` 메서드는 객체의 프로퍼티를 읽기/쓰기 불변으로 만드는 메서드입니다. 이 메서드는 객체의 프로퍼티를 변경하거나 삭제하는 것을 방지하며, 객체의 프로퍼티를 읽기 전용으로 만듭니다. 객체의 프로퍼티를 변경하거나 삭제하는 것을 방지해야 할 때, 또는 객체의 프로퍼티를 읽기 전용으로 만들고 싶을 때 사용할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색