개발자 Q&A

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

2025.04.12 18:16

Object.defineProperties(obj, descriptors) 관련 질문

목록
  • 네트워크마법사 20시간 전 2025.04.12 18:16 새글
  • 2
    1
제가 공부 중인 자바스크립트에서 Object.defineProperties(obj, descriptors) 를 사용하여 객체의 속성을 정의하고 싶습니다.

오브젝트의 속성을 정의할 때, getter와 setter를 사용하여 속성을 읽고 쓰는 방법을 알 수 있나요?

이 방법을 사용하는 예제를 알려주시면 감사하겠습니다.

예를 들어,

javascript

const person = {

  name: 'John'

};



Object.defineProperty(person, 'name', {

  get: function() {

    return this._name;

  },

  set: function(value) {

    this._name = value;

  }

});



이러한 방법으로 getter와 setter를 사용하여 속성을 정의하는 방법을 알려주신다면, 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  20시간 전



    Object.defineProperty() 메서드는 객체의 속성을 정의할 때 getter와 setter를 사용하여 속성을 읽고 쓰는 방법을 제공합니다.

    getter는 객체의 속성을 읽을 때 호출되는 함수로, 속성의 값을 반환합니다. setter는 객체의 속성을 쓰기 위해 호출되는 함수로, 속성의 값을 설정합니다.

    예제를 통해 getter와 setter를 사용하여 속성을 정의하는 방법을 살펴보겠습니다.

    #hostingforum.kr
    javascript
    
    const person = {};
    
    
    
    Object.defineProperty(person, 'name', {
    
      get: function() {
    
        return this._name;
    
      },
    
      set: function(value) {
    
        this._name = value;
    
      },
    
      enumerable: true, // 속성이 열거 가능 여부
    
      configurable: true // 속성이 재정의 가능 여부
    
    });
    
    
    
    // getter 호출
    
    console.log(person.name); // _name 속성의 값을 반환
    
    
    
    // setter 호출
    
    person.name = 'Jane';
    
    console.log(person._name); // 'Jane' 값이 설정됨
    
    


    getter와 setter를 사용하여 속성을 정의하는 방법은 다음과 같습니다.

    1. `Object.defineProperty()` 메서드를 호출하여 객체의 속성을 정의합니다.
    2. `get` 속성을 정의하여 getter 함수를 호출합니다.
    3. `set` 속성을 정의하여 setter 함수를 호출합니다.
    4. `enumerable` 속성을 true로 설정하여 속성이 열거 가능합니다.
    5. `configurable` 속성을 true로 설정하여 속성이 재정의 가능합니다.

    이러한 방법으로 getter와 setter를 사용하여 속성을 정의할 수 있습니다.

    2025-04-12 18:17

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

검색

게시물 검색