비구조할당
→ 배열의 인덱스 혹은 객체의 키를 기준으로 원하는 값만 빼내기
→ 어떤 상황에서 구조분해할당이 쓰이는가…? (예시)
→ 바깥에서 가져온 정보를 가공할 경우 (API / 책 / 영화정보등) : 중첩된 객체의 형태를 띄는 경우가 많다.
→ 필요한 정보만 빼내는 경우(예를 들어 가격이나 point 같은 원하는 정보)
객체 구조분해 할당하기
객체 키 값을 기준으로 원하는 값 빼내기 - 키 값을 기준으로 변수를 한방에 선언할 수 있다!
const 객체이름 = {
key1 : "value1",
key2 : "value2",
key3 : "value3",
key4 : "value4",
}
//key값을 기준으로 구조분해할당 하는 경우
const {key1,key2,key3,key4} = 객체이름;
//다른 이름으로 변수를 구조분해할당 하고 싶은 경우
const {key1:key1에 대응되는 이름,key2:key2에 대응되는 이름,key3:key3에 대응되는 이름,key4:key4에 대응되는 이름} = 객체이름;
예시
배열 구조분해 할당하기
배열도 key값이 0부터 시작하는 정수이기 때문에 구조분해 할당 방식이 객체와 똑같다.
const arr = [1,2,3];
const [one,two,three] = arr;
console.log(one,two,three); // 1 2 3
let [x,y,z] = [1,2,3];
console.log(x); // 1
console.log(y); // 2
console.log(z); // 3
let [a,b,c = 3] = [1,2];
console.log(x,y,z); // 1 2 3