Object.keys(), values, entries, assign

이희주·2022년 6월 27일
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
어제보다 오늘 발전하는 프론트엔드 개발자

0개의 댓글