비구조화할당 이란?
- 배열이나 객체의 속성 혹은 값을 해체하여 그 값을 변수에 각각 담아 사용하는 Javascript 표현식입니다.
//배열선언
const animalArray = ['Cat','Dog','Tiger'];
//각각 변수에 담기
const cat = animalArray[0];
const dog = animalArray[1];
const tiger = animalArray[2];
//각각 호출
console.log(cat);
console.log(dog);
console.log(tiger);
[0],[1].[2]
이렇게 직접 지정해주었습니다.const [변수명1,변수명2,변수명3] = {값1,값2,값3};
//비구조화할당방식을 이용하면 위의 4줄을 1줄 코드로 변경이 가능
const [cat1, dog1, tiger1] = ['CAT', 'DOG', 'TIGER'];
console.log(cat1);
console.log(dog1);
console.log(tiger1);
const obj = {
a : 10,
b : 20,
};
const newObj = {...obj};
console.log(newObj);
// arr배열을 newArr배열로 복제
const arr = [1,2,3];
const newArr = [...arr];
console.log(newArr);
const animalList2 = ['CAT', 'DOG', 'TIGER'];
const [cat2, ...restAnimalList2] = animalList2;
//앞의 요소 1개와 나머지 요소를 분리하고 싶을 때 위 예시 코드처럼 사용 가능
console.log(cat2);
console.log(restAnimalList2);
const [변수명1, 변수명2, 변수명3 = 기본값] = [값1, 값2];
const [cat3, dog3, tiger3, monkey3 = "MONKEY"] = ['CAT', 'DOG', 'TIGER'];
console.log(cat3);
console.log(dog3);
console.log(tiger3);
console.log(monkey3);
const 배열명 = [값1,값2,값3];
const[변수명,변수명2,변수명3] = 배열명;
const animal = ['CAT', 'DOG', 'TIGER'];
const [cat1, dog1, tiger1] = animal;
console.log(cat1);
console.log(dog1);
console.log(tiger1);
//객체선언
const animals = {
cat: 'CAT',
dog: 'DOG',
tiger: 'TIGER'
}
//각각변수담기
const cat = animals.cat;
const dog = animals.dog;
const tiger = animals.tiger;
//각각호출
console.log(cat);
console.log(dog);
console.log(tiger);
const {변수명1, 변수명2, 변수명 3} = {
속성명1 : 값1,
속성명2 : 값2,
속성명3 : 값3,
};
const {cat1,dog1,tiger1} = {
cat1 : 'CAT',
dog1 : 'DOG',
tiger1 : 'TIGER',
};
console.log(cat1);
console.log(dog1);
console.log(tiger1);
const {cat3,...animal3} = {
cat3 : 'Cat',
dog3 : 'Dog',
tiger3 : 'Tiger',
};
console.log(cat3);
console.log(animal3);
const {cat,dog,tiger,monkey = 'Monkey'} = {
cat : 'Cat',
dog : 'Dog',
tiger : 'Tiger',
};
console.log(cat);
console.log(dog);
console.log(tiger);
console.log(monkey);
const 객체명 = {
속성명1 : 값1,
속성명2 : 값2,
속성명3 : 값3,
};
const {변수명1,변수명2,변수명3} = 객체명;
const animal = {
cat : 'Cat',
dog : 'Dog',
tiger : 'Tiger',
};
const {cat,dog,tiger} = animal;
console.log(cat);
console.log(dog);
console.log(tiger);