일반 객체엔 다음과 같은 메서드를 사용할 수 있습니다.
Object.keys(obj) – 객체의 키만 담은 배열을 반환합니다.
Object.values(obj) – 객체의 값만 담은 배열을 반환합니다.
Object.entries(obj) – [키, 값] 쌍을 담은 배열을 반환합니다.
Map, Set, Array 전용 메서드와 일반 객체용 메서드의 차이를 (맵을 기준으로) 비교하면 다음과 같습니다.
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.keys()와 비슷하다. Object의 value 값들을 갖는 배열을 반환해준다.
const object1 = {
a: 'somestring',
b: 42,
c: false
};
console.log(Object.values(object1));
// expected output: Array ["somestring", 42, false]
는 객체의 key값과 value 값을 배열로 반환해준다. 예를들어
const obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
처럼 배열에 key,value 순서쌍을 담아 반환해준다.
은 객체를 병합할 때 사용한다.
보통
var newObj = Object.assign({}, obj1, obj2, obj3);
처럼 assign의 첫번째 객체인자는 비워두고 나머지 인자들에 병합하고 싶은 객체들을 포함시켜서 새로운 병합된 객체를 뽑아내어 사용한다.
아라보자 압수!