Destructuring Assignment (구조분해할당)은 ES6에서 새로생긴 문법이다.
The destructuring assignment syntax is a JavaScript expression that makes it possible to unpack values from arrays, or properties from objects, into distinct variables.
구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다.
출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
let x = [1, 2, 3, 4, 5]; // MDN에 나온 정의처럼 객체의 values들을 unpack(분해)해서
let [y, z] = x; // distinct(별개의) variables에게 담을수있다.
console.log(y); // 1
console.log(z); // 2
[배열의 구조분해 할당]
let fruits = ["apple", "banana", "greenApple"];
let [red, yellow, green] = fruits;
console.log(red); // "apple"
console.log(yellow); // "banana"
console.log(green); // "greenApple"
[구조분해문법이 없던 ES5에서는? 일일히 재할당 해주어야 한다. 세줄짜리 코드가 한줄로 줄어든 것을 볼 수 있다.]
let red = fruits[0]
let yellow = fruits[1]
let green = fruits[2]
console.log(red) // "apple"
console.log(yellow) // "banana"
console.log(green) // "greenApple"
{객체의 구조분해 할당}
let o = {p: 42, q: true};
let {p, q} = o;
console.log(p); // 42
console.log(q); // true