배열이나 객체를 분해해서 각각의 값을 변수에 담는 표현식이다.
구조분해석을 쓰면 더욱 간결하고 가독성 좋게 사용할수 있습니다.
//배열 구조 분해 할당
const animals =["강아지","고양이","오리"];
const dog = animals[0];
const cat = animals[2];
//존재하지않는 네번쨰 요소
const [dog, cat, duck, cow = "소"] = animals;
console.log(dog, cat, duck);
//나머지 구분
const [dog, cat, ...rest] = animals;
//TIP 1 -변수 값 교환하기
let a = 1;
let b = 2;
[a, b] = [b ,a];
//객체 구조 분해 할당
const animals = {
dog : "강아지",
cat : "고양이",
duck : "오리",
};
//const { cat, dog } = animals;
const { dog, ...rest} = animals;
// TIP1 반복문에서 구조 분호 할당하기
const users = [
{name:"철수", age: 25 },
{name:"영희", age: 30 },
];
for (const { name } of users) {
console.log(name);
}
// TIP2 함수의 매개변수로 전달된 객체를 구조 분해 할당하기
const user = { name: "철수" , age: 25};
function printUser ({name, age}){
console.log(`${name}님은 ${age}살 이예요`);
}
printUser(user);