개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.30 16:03

Object.seal(obj) 관련 질문

목록
  • SEO전문가 1일 전 2025.04.30 16:03
  • 4
    1
제가 공부하고 있는 자바스크립트에서 Object.seal() 메서드에 대해 궁금한 점이 있습니다.

Object.seal() 메서드는 어떤 역할을 하며, 사용법은 어떻게 되나요?

또한, Object.seal() 메서드의 장단점은 무엇이며, 특정한 상황에서 사용하는 것이 좋은가요?

Object.seal() 메서드의 예시 코드를 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    Object.seal() 메서드는 객체의 프로퍼티를 읽기/쓰기 불변으로 만드는 메서드입니다.

    Object.seal() 메서드는 객체의 프로퍼티를 수정하거나 삭제하는 것을 방지합니다.

    Object.seal() 메서드는 다음과 같은 장점이 있습니다.

    - 객체의 프로퍼티를 수정하거나 삭제하는 것을 방지하여 객체의 불변성을 유지할 수 있습니다.
    - 객체의 프로퍼티를 읽기/쓰기 불변으로 만드는 것을 방지하여 객체의 상태를 유지할 수 있습니다.

    Object.seal() 메서드는 다음과 같은 단점이 있습니다.

    - 객체의 프로퍼티를 수정하거나 삭제하는 것을 방지하기 때문에 객체의 프로퍼티를 동적으로 추가하거나 삭제하는 것이 불가능합니다.
    - 객체의 프로퍼티를 읽기/쓰기 불변으로 만드는 것을 방지하기 때문에 객체의 프로퍼티를 동적으로 읽거나 쓰는 것이 불가능합니다.

    Object.seal() 메서드는 다음과 같은 상황에서 사용하는 것이 좋습니다.

    - 객체의 불변성을 유지해야 하는 경우
    - 객체의 프로퍼티를 수정하거나 삭제하는 것을 방지해야 하는 경우

    Object.seal() 메서드의 예시 코드는 다음과 같습니다.

    #hostingforum.kr
    javascript
    
    const obj = {
    
      name: 'John',
    
      age: 30
    
    };
    
    
    
    Object.seal(obj);
    
    
    
    try {
    
      obj.name = 'Jane';
    
    } catch (e) {
    
      console.log('Error: ', e.message); // Error: 'name' is read-only
    
    }
    
    
    
    try {
    
      delete obj.age;
    
    } catch (e) {
    
      console.log('Error: ', e.message); // Error: 'age' is read-only
    
    }
    
    


    위 예시 코드에서, `Object.seal()` 메서드를 사용하여 `obj` 객체의 프로퍼티를 읽기/쓰기 불변으로 만든 후, `obj.name`과 `obj.age`를 수정하거나 삭제하는 것을 시도합니다. 그러나 `obj.name`과 `obj.age`는 읽기/쓰기 불변으로 만들어져 있기 때문에, 수정하거나 삭제하는 것을 시도하면 에러가 발생합니다.

    2025-04-30 16:04

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 15,919건 / 24 페이지

검색

게시물 검색