Destructuring Assignment이란 구조분해할당이라고 합니다. 구조분해할당은 배열(array)또는 객체(object)의 개별 값을 변수로 저장하는 방법입니다.
Array Destructuring
1 2 3 4 5 6 7 8 9 10
// fruit list const fruit = ["apple", "peach", "melon", "kiwi"];
// each element const first = fruit[0]; const second = fruit[1]; const third = fruit[2]; console.log(first); // "apple" console.log(second); // "peach" console.log(third); // "melon"
구조분해할당을 사용하지않고 배열의 각각 요소들을 변수로 사용하려면 하나씩 할당해줘야합니다.
기본 할당
1 2 3 4 5 6 7 8
// fruit list const fruit = ["apple", "peach", "melon", "kiwi"];
// each element const [first, second, third] = fruit; console.log(first); // "apple" console.log(second); // "peach" console.log(third); // "melon"
구조분해 할당으로 각 요소를 변수에 저장하면 한줄로 줄일 수 있습니다.
일부 반환 값 무시
1 2 3 4 5 6 7
// fruit list const fruit = ["apple", "peach", "melon", "kiwi"];
// each element const [first, ,third] = fruit; console.log(first); // "apple" console.log(third); // "melon"
또한 두번째 요소를 사용하지 않고 첫번째와 마지막 요소들만 변수로 저장하려면 가운데 요소에 변수를 할당하지 않고 사용하면 됩니다.
변수에 나머지를 할당
1 2 3 4 5 6 7
// fruit list const fruit = ["apple", "peach", "melon", "kiwi"];
// each element const [first, ,...etc] = fruit; console.log(first); // "apple" console.log(etc); // ["melon", "kiwi"]
변수로 할당한 나머지 또한 변수로 할당하여 배열로 저장 할 수 있습니다.
변수 값 변환
1 2 3 4 5
let male = "si-hyen"; let female = "seo-won"; [male, female] = [female, male]; console.log(male); // "seo-won" console.log(female); // "si-hyen"