구조 분해 할당 구문은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식
let users = ['Mike', 'Tom', 'Jane']
let users = [user1, user2, user3] = users;
// let [user1, user2, user3] = str.split(''); //
console.log(user1); // 'Mike'
console.log(user2); // 'Tom'
consile.log(user3); // 'Jane'
배열 구조 분해는 일부 반환값을 무시할 수 있다.
let [user1, ,user2] = ['Mike', 'Tom', 'Jane', 'Tony'];
console.log(user1); // 'Mike'
console.log(user2); // 'jane'
구조 분해 할당을 이용해 할당된 값을 변활할 수도 있다.
let a = 1;
let b = 2;
[a, b] = [b, a]; // a, b에 할당된 값 바꾸기
객체의 구조분해는 순서를 바꿔도 동일하게 동작한다.
let user = {name: 'Mike', age : 30};
let {name, age} = user;
// let name = user.name;
// let age = user.age;
console.log(name); // 'Mike'
console.log(agfe); // 30
새로운 변수 이름으로 할당할 수도 있다.
let user = {name: 'Mike', age: 30};
// let {name, user} = user;
let {name: userName, age: userAge} = user;
console.log(userName}; // 'Mike'
console.log(userAge}; // 30
객체 구조 기본값으로는 undefined가 주어진다.