[자료구조]Object.keys, values, entries, assign 에 대해 ARABOZA.

Dtrip·2022년 6월 4일
0

Object.keys, values, entries

일반 객체엔 다음과 같은 메서드를 사용할 수 있습니다.

Object.keys(obj) – 객체의 키만 담은 배열을 반환합니다.
Object.values(obj) – 객체의 값만 담은 배열을 반환합니다.
Object.entries(obj) – [키, 값] 쌍을 담은 배열을 반환합니다.
Map, Set, Array 전용 메서드와 일반 객체용 메서드의 차이를 (맵을 기준으로) 비교하면 다음과 같습니다.

Object.keys()

Object.keys() 메소드는 주어진 객체의 속성 이름들을 일반적인 반복문과 동일한 순서로 순회되는 열거할 수 있는 배열로 반환한다.

예를들어

const object1 = {
a: 'somestring',
b: 42,
c: false
};

console.log(Object.keys(object1));
// expected output: Array ["a", "b", "c"]

이처럼 a, b, c 와 같은 속성값들을 배열로 반환하는 것을 볼 수 있다.

Object.values()

Object.keys()와 비슷하다. Object의 value 값들을 갖는 배열을 반환해준다.

const object1 = {
a: 'somestring',
b: 42,
c: false
};
console.log(Object.values(object1));
// expected output: Array ["somestring", 42, false]

Object.entries()

는 객체의 key값과 value 값을 배열로 반환해준다. 예를들어

const obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]

처럼 배열에 key,value 순서쌍을 담아 반환해준다.

Object.assign

은 객체를 병합할 때 사용한다.
보통

var newObj = Object.assign({}, obj1, obj2, obj3);

처럼 assign의 첫번째 객체인자는 비워두고 나머지 인자들에 병합하고 싶은 객체들을 포함시켜서 새로운 병합된 객체를 뽑아내어 사용한다.

profile
Devtrip

1개의 댓글

comment-user-thumbnail
2022년 6월 30일

아라보자 압수!

답글 달기