■ 배열 비 구조화 할당
let arr = ["one", "two", "three"];
const [a, b, c, d = "four"] = arr; // d 는 four 로 기본값 지정
console.log(b); // two
console.log(d); // four
배열 비 구조화 할당에서는 인덱스가 기준이 된다.
인덱스 기준이므로 a = one, b = two, c = three 의 값이 할당 된다.
■ 배열 비 구조화 할당 응용
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a, b); // 2 1
■ 객체 비 구조화 할당
객체 비 구조화 할당에서는 키값이 기준이 된다. 키값이 없는 경우에는 기본값을 설정할 수 있다.
let object = { ONE: "one", TWO: "two", THREE: "three" };
let { TWO, FOUR = "four" } = object;
console.log(TWO); // two
console.log(FOUR); //four
키값이 기준이 되기 때문에 순서와 무관하게 키값 TWO의 값을 가지고 올 수 있다.
그리고 객체 비 구조화 할당은 다음과 같이 키값의 변경이 가능하다.
let { ONE: MYONE } = object;
console.log(MYONE); // one