자바스크립트 객체 메서드(Object.assign, Object.keys 등)

자바스크립트는 객체 지향 프로그래밍 언어로써, 객체를 다루는데 다양한 메서드들을 제공합니다. 이번 포스트에서는 자바스크립트 객체 메서드 중 Object.assign과 Object.keys를 다뤄보겠습니다.

Object.assign

Object.assign은 하나 이상의 소스 객체로부터 대상 객체로 속성을 복사할 때 사용됩니다. 이 메서드는 대상 객체를 반환하며, 소스 객체의 속성이 대상 객체의 속성과 중복될 경우 덮어씁니다.

다음은 Object.assign 메서드의 사용 예시입니다:

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const result = Object.assign(target, source);

console.log(target); // { a: 1, b: 4, c: 5 }
console.log(result); // { a: 1, b: 4, c: 5 }

위 예시에서 target 객체에 source 객체의 속성을 복사한 결과를 반환합니다. 소스 객체의 b 속성은 target 객체의 b 속성을 덮어씌우게 됩니다.

Object.keys

Object.keys 메서드는 주어진 객체의 속성들을 배열로 반환합니다. 이 배열에는 객체의 열거 가능한 속성들만 포함됩니다.

다음은 Object.keys 메서드의 사용 예시입니다:

const object = {
  a: 'foo',
  b: 42,
  c: false
};

const keys = Object.keys(object);

console.log(keys); // ['a', 'b', 'c']

위 예시에서 object 객체의 속성들을 배열로 반환하여 keys 변수에 저장합니다. 따라서 keys 변수에는 객체의 속성명인 a, b, c가 문자열로 담기게 됩니다.

결론

Object.assign과 Object.keys는 자바스크립트 객체를 다루는데 유용한 메서드입니다. Object.assign을 사용하여 속성을 복사하거나, Object.keys를 사용하여 객체의 속성들을 배열로 추출할 수 있습니다. 이러한 메서드들은 객체 기반의 개발에서 꼭 알아두면 유용하게 사용할 수 있습니다.