1. 배열의 비구조화 할당
let arr = ["one", "two", "three"];
let one = arr[0];
let two = arr[1];
let three = arr[2];
console.log(one, two, three)
배열의 기본변수 비 구조화 할당을 사용했을 경우
let arr = ["one", "two", "three"];
let [one, two, three] = arr;
console.log(one, two, three)
위의 코드를 더 단순하게 적어본다면?
let [one, two, three] =["one", "two", "three"];
console.log(one, two, three)
만약 변수를 할당받지 못한다면??
let [one, two, three, four = "four"] =["one", "two", "three"];
console.log(one, two, three)
응용 - 스왑
let a = 10;
let b = 20;
let tmp = 0;
tmp = a;
a=b;
b= tmp;
console.log(a,b)
비구조 할당을 사용하면?
let a = 10;
let b = 20;
[a, b] = [b, a]
console.log(a, b);
2. 객체의 비구조화 할당
let object = { one: "one", two: "two", three: "three" };
let one = object.one;
let two = object.two;
let three = object.three;
console.log(one, two, three);
비구조할당을 이용하면
let object = { one: "one", two: "two", three: "three", name: "nnnn" };
let { name, one, two, three } = object;
console.log(one, two, three, name);
여기서 키값의 변수명이 아니라 다른 변수명을 지정해주고 싶다면?
let object = { one: "one", two: "two", three: "three", name: "nnnn" };
let { name: myName, one: ONE, two, three, abc = "four" } = object;
console.log(ONE, two, three, myName, abc);