[javascript] 객체의 프로퍼티 속성 속성값 변경 방법

자바스크립트에서는 객체의 프로퍼티 속성값을 변경하는 다양한 방법을 제공합니다. 이 문서에서는 몇 가지 일반적인 방법을 소개하겠습니다.

1. 직접 변경하기

가장 간단한 방법은 직접 객체의 프로퍼티에 접근하여 값을 변경하는 것입니다. 아래의 예제 코드를 확인해 보세요.

let person = {
  name: 'John',
  age: 20
};

// 프로퍼티 값 변경
person.name = 'Jane';
person.age = 25;

console.log(person);  // { name: 'Jane', age: 25 }

위 코드에서는 person 객체의 nameage 프로퍼티의 값을 직접 변경하여 출력합니다.

2. Object.defineProperty() 메소드 사용하기

Object.defineProperty() 메소드를 사용하면 프로퍼티의 속성을 세밀하게 제어할 수 있습니다. 이 메소드를 사용하여 프로퍼티 속성값을 변경할 수 있습니다. 아래의 예제 코드를 확인해 보세요.

let person = {
  name: 'John',
  age: 20
};

// 프로퍼티 속성값 변경
Object.defineProperty(person, 'name', {
  value: 'Jane',
  writable: false  // 해당 프로퍼티를 변경할 수 없도록 설정
});

console.log(person.name);  // Jane

person.name = 'Kate';  // 에러 발생

console.log(person.name);  // Jane (변경되지 않음)

위 코드에서는 Object.defineProperty() 메소드를 사용하여 name 프로퍼티의 값을 변경하였습니다. writable 속성을 false로 설정하여 해당 프로퍼티를 변경할 수 없도록 만들었습니다.

3. Object.defineProperties() 메소드 사용하기

Object.defineProperties() 메소드를 사용하면 여러 개의 프로퍼티 속성값을 한 번에 변경할 수 있습니다. 아래의 예제 코드를 참고하세요.

let person = {
  name: 'John',
  age: 20
};

// 여러 개의 프로퍼티 속성값 변경
Object.defineProperties(person, {
  name: {
    value: 'Jane'
  },
  age: {
    value: 25
  }
});

console.log(person);  // { name: 'Jane', age: 25 }

위 코드에서는 Object.defineProperties() 메소드를 사용하여 nameage 프로퍼티의 속성값을 한 번에 변경하였습니다.

결론

이 문서에서는 자바스크립트에서 객체의 프로퍼티 속성 속성값을 변경하는 방법에 대해 소개하였습니다. 직접 변경, Object.defineProperty(), Object.defineProperties() 메소드를 사용하여 프로퍼티 속성값을 변경할 수 있습니다. 다양한 상황에 맞게 적절한 방법을 선택하여 사용하시기 바랍니다.

참고 자료