[javascript] 동적 프로퍼티를 통한 객체 확장 방법

자바스크립트에서는 객체를 동적으로 확장할 수 있습니다. 이는 객체의 프로퍼티를 런타임 시점에 추가하거나 제거하는 것을 의미합니다. 다음은 객체를 확장하는 방법과 동적 프로퍼티를 활용하는 예제를 살펴보겠습니다.

1. 객체 확장 방법

기존의 객체에 새로운 프로퍼티를 동적으로 추가하기 위해서는 다음과 같이 점 표기법(dot notation)이나 대괄호 표기법(bracket notation)을 사용할 수 있습니다.

점 표기법(dot notation)을 사용한 객체 확장

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

person.gender = 'male';
console.log(person); // { name: 'John', age: 30, gender: 'male' }

대괄호 표기법(bracket notation)을 사용한 객체 확장

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

person['gender'] = 'male';
console.log(person); // { name: 'John', age: 30, gender: 'male' }

2. 동적 프로퍼티 활용 예제

동적으로 프로퍼티를 추가하는 것을 통해 객체를 유연하게 확장할 수 있습니다. 예를 들어, 사용자 입력에 따라 동적으로 객체를 생성하고 프로퍼티를 추가하는 경우, 다음과 같은 방법을 사용할 수 있습니다.

function createUser(name, age) {
  let user = {};
  user.name = name;
  user.age = age;

  if (age < 18) {
    user['role'] = 'minor';
  } else {
    user['role'] = 'adult';
  }

  return user;
}

let newUser = createUser('Alice', 16);
console.log(newUser); // { name: 'Alice', age: 16, role: 'minor' }

위 예제에서는 createUser 함수를 통해 사용자 객체를 동적으로 생성하고, 사용자의 나이에 따라 role 프로퍼티를 추가하였습니다.

이와 같이 동적으로 객체를 확장하여 유연하게 프로퍼티를 추가하고 제거할 수 있습니다.

결론

자바스크립트에서는 객체를 동적으로 확장하는 다양한 방법을 제공합니다. 이를 통해 코드를 유연하게 작성하고 다양한 상황에 대응할 수 있습니다. 동적 프로퍼티를 활용하여 객체를 확장하는 방법을 숙지하면 프로그래밍 작업을 보다 효율적으로 수행할 수 있습니다.