My Wiki (CodesStates)/JS,Node

(4-2) JS/Node Spread/Rest 문법 - 구조 분해 (Destructing)

Esoolgnah 2021. 8. 4. 20:31
728x90

 

구조 분해 할당이란?

Spread 문법을 이용하여 값을 해체한 후 개별 값을 변수에 할당하는 과정을 말한다.

 

 

분해 후 새 변수에 할당

 

배열

const [a, b, ...rest] = [10, 20, 30, 40, 50];

// 질문: a, b, rest는 각각 어떤 값인가요?

// 10
// 20
// [30, 40, 50]

 

객체

const {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40}
// 질문: a, b, rest는 각각 어떤 값인가요?

// 10
// 20
// {c: 30, d: 40}

 

  • 객체에서 구조 분해 할당을 사용하는 경우 선언(const, let, var)과 함께 사용하지 않으면 에러가 발생할 수 있다.
  • 선언없이 할당하는 경우 이 콘텐츠의 하단있는 공식문서 링크를 통해 내용을 확인할 수 있다.

 

유용한 예제: 함수에서 객체 분해

function whois({displayName: displayName, fullName: {firstName: name}}){
  console.log(displayName + " is " + name);
}

let user = {
  id: 42,
  displayName: "jdoe",
  fullName: {
      firstName: "John",
      lastName: "Doe"
  }
};

whois(user) // 질문: 콘솔에서 어떻게 출력될까요?

// "jdoe is John"

 

 

Reference

 

 

 

 

반응형