구조 분해 할당 문법은 배열 혹은 객체에서 각각 값(value)이나 프로퍼티(property) 를 분해하여 손쉽게 별도의 변수에 담을 수 있도록 해 줍니다.
배열(array)에서의 구조 분해 할당
let [a, b] = [10, 20];
console.log(a); // 10
console.log(b); // 20
구조 분해 할당이라고 해서 특별한 문법적 형태가 다른 것이 아니라, 위처럼 할당받을 변수를 왼쪽에, 분해할 대상을 오른쪽에 해서 대입하는 형식으로 작성하면 된다.
배열 [10, 20] 이 분해되어 각각 a, b에 담긴다.
물론 아래와 같이 미리 저장해 둔 배열로부터 구조 분해 할당하는 형태도 당연히 가능하다.
let array = [1, 2, 3];
let [a, b, c] = array;
console.log(a, b, c); // 1 2 3
반복되는 변수 선언을 줄여줘 더 간결하한 코드를 작성할 수 있다.
하지만 객체와 배열과 구조분해 할당시 주의 할점 있다.
객체를 구조분해할당 하게 될 경우 객체 안의 존재하는 key값의 이름으로 재할당을 해야하고 순서는 상관없이 할당되지만 배열은 구조분해할당 시, 배열의 순서가 매우 중요하다!!