배열 또는 객체의 속성을 분해하여 추출한 값을 변수 혹은 상수에 담는 자바스크립트 표현식
// 비구조화 할당 예시
let arr = ["one", "two", "three"];
let [one, two, three] = arr;
console.log(one, two, three); // one two three
const object = { a: 1, b: 2 };
const { b, a } = object;
console.log(a); // 1
console.log(b); // 2
a와 b는 값을 교환하려 한다. 당장 생각나는 방식은 임시 변수 tmp를 만들어 옮겨두는 것이다.
let a = 10;
let b = 20;
let tmp;
tmp = a;
a = b;
b = tmp;
console.log(a, b); // 20, 10
a와 b의 값을 교환하기 위해 굳이 쓸데없는 변수 tmp가 선언되었다.
위 코드에 비구조화 할당을 적용해보면 아래처럼 간단하게 만들 수 있다.
let a = 10;
let b = 20;
[a, b] = [b, a];
console.log(a, b); // 20, 10