객체의 비구조화 할당 혹은 구조분해 할당이라는 심오한 이름을 갖고있는 이것은 쉽게 말해서 구조체 안의 여러 값들을 불러올 때 짧게 쓰자는 것이다.
const myDog = {
name: '멍멍이',
age: 3,
character: 귀여움
}
위와 같은 객체가 있을 때, 함수 내에서 객체의 속성(이름, 나이, 성격)을 불러오고 싶으면 myDog.name, myDog.age, myDog.character 등으로 불러와야 한다.
하지만 어차피 myDog의 값을 불러오는 건데, 계속 같은 타자를 치는 것은 귀찮은 일이다. 이럴때 짧게 불러올수있는 것이 바로 이 심오한 이름의 비구조화할당 혹은 구조분해할당이다.
const myDog = {
name: "멍멍이",
age: 3,
character: "귀여움"
};
// non 비구조화 할당
function print_1(dog) {
console.log(
`우리 강아지 이름은 ${dog.name}, 나이는 ${dog.age}, 성격은 ${dog.character}`
);
}
// 비구조화할당 방법1
function print_2(dog) {
const { name, age, character } = dog;
console.log(`우리 강아지 이름은 ${name}, 나이는 ${age}, 성격은 ${character}`);
}
// 비구조화할당 방법2
function print_3({ name, age, character }) {
console.log(`우리 강아지 이름은 ${name}, 나이는 ${age}, 성격은 ${character}`);
}
// 비구조화할당 방법3
const { name, age, character } = myDog;
console.log(`우리 강아지 이름은 ${name}, 나이는 ${age}, 성격은 ${character}`);