본문 바로가기
Programming/Node.js

Node.js에서 ES6 기능인 Object destructuring 사용하는 방법

by 혀코 2020. 1. 8.

안녕하세요. 혀코입니다.

Node.js에서 ES6 기능인 Object destructuring을 사용하는 방법에 대해서 알아보겠습니다.

app.js를 다음과 같이 작성합니다.

const product = {
    label: 'Avengers Shirt'
    price: 50
    stock: 7
}

const label = product.label
const price = product.price

console.log(label)
console.log(price)

 

여기서, label과 price 변수에 product object의 각 key값에 해당하는 value를 할당하기 위해서 각각 product.label, product.price 이렇게 지정했는데요.

ES6에서 지원하는 기능인 object destructuring 기능을 사용하면 다음과 같이 지정해도 동일한 결과를 갖게 됩니다.

const product = {
    label: 'Avengers Shirt'
    price: 50
    stock: 7
}

const {label, price} = product

console.log(label)
console.log(price)

 

여기서 참고할 사항으로 product object에 없는 key 값을 변수명으로 지정하면, 해당 변수는 undefined가 되는 점 참고하세요.

const product = {
    label: 'Avengers Shirt'
    price: 50
    stock: 7
}

const {label, price, ratings} = product

console.log(label)
console.log(price)
console.log(ratings)
$ node app.js
Avengers Shirt
7
undefined

 

또한, object의 key 값을 동일하지 않은 변수명으로 사용하고자 할 때는 다음과 같이 쓰면 됩니다.

const product = {
    label: 'Avengers Shirt'
    price: 50
    stock: 7
}

const {label:title, price, ratings} = product

console.log(title)
console.log(price)
console.log(ratings)

이때는 console.log(label) 로 진행하면 변수가 존재하지 않아서 에러가 나는 점 참고해 주세요.

 

또한, Object Destructuring을 사용할때, 다음과 같이 기본값 지정을 할 수 있습니다.

const product = {
    label: 'Avengers Shirt'
    price: 50
    stock: 7
}

const {label:title, price, ratings = 4} = product

console.log(title)
console.log(price)
console.log(ratings)
$ node app.js
Avengers Shirt
7
4

 

 

그럼 함수에서 Object Destructuring 하는 방법도 알아보겠습니다.

const product = {
    label: 'Avengers Shirt'
    price: 50
    stock: 7
}

const transaction = (type, {label, stock}) => {
    console.log(type, label, stock)
}

transaction('order', product)

transaction 함수를 콜하는 부분을 보면, parameter로 product object를 넘기고 있습니다.

그러면 transaction 함수 정의하는 부분에서 이 object parameter를 { } 안에 object의 key 값으로 지정할 수 있습니다.  

$ node app.js

그럼 다음과 같은 결과를 출력합니다.

order Avengers 7

 

이렇게 Node.js에서 ES6 기능인 Object destructuring을 사용하는 방법에 대해서 알아보았습니다.

유용하셨다면, 공감과 구독 부탁 드립니다.

감사합니다.

댓글