오브젝트 병합하는 방법으로는 2가지가 있다.
1. assign
2. spread
es6이후에는 spread를 많이 사용한다.
두가지 차이를 확인해보자.
첫 번째 assign 사용했을 때,
// assign 연산자
const obj = {
title: "111 assign 연산자 title"
}
const newObj = {
name: "222 assign 연산자 name"
}
const assign = Object.assign({}, obj, newObj) // (객체배열로 {}, 합칠 오브젝트1, 오브젝트 2)
console.log( assign )
이렇게 한 후 콘솔을 보면
{ title: '111 assign 연산자 title', name: '222 assign 연산자 name' }
라고 출력이 나온다.
두 번째 spread 사용했을 때
// spread 연산자
const obj2 = {
title: "111 spread 연산자 title"
}
const newObj2 = {
name: "222 spread 연산자 name"
}
const spread = {
...obj2,
...newObj2
}
console.log( spread )
... 로 배열을 결합하라는 뜻
{ title: '111 spread 연산자 title', name: '222 spread 연산자 name' }
출력 시 이렇게 나온다.
확실히 가독성 면에서는 spread가 편하다.
하지만 정확한 의미를 전달 시에는 assign로 보는 것도 괜찮다고 생각이 든다.
최대한 코드를 줄일려면 es6에서는 spread가 낫지 않을까 생각이 든다.
'BLOG > JavaScript' 카테고리의 다른 글
[node.js] some (0) | 2020.01.10 |
---|---|
[node.js] Set 과 has (0) | 2020.01.09 |
[node.js] nodemon (0) | 2020.01.08 |
[node.js] Event Loop 기초 (0) | 2020.01.07 |
[node.js] node.js 시작 (0) | 2020.01.06 |