본문 바로가기

BLOG/JavaScript

[node.js] 오브젝트 병합 assign vs spread

오브젝트 병합하는 방법으로는 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