자바스크립트에서는 구조분해 할당을 하는 기능이 있다.
이해하기 쉽게 코드로 설명해보자.
const object={name:"Min",age:28};
console.log(object.name); //"Min"
console.log(object.age);//28
기존에 어떠한 객체에 값을 표현하고 싶을때는 오브젝트에 . 을 찍어서 안쪽의 데이터에 접근이 가능하다.
하지만 구조분해 할당으로 데이터를 표시한다면
const object = {name:"Min",age:28};
const{name,age}=object;
console.log(name);//"Min"
console.log(age);//"age"
두개는 똑같이 동작하는 것을 알 수 있다.
구조분해 할당은 name 과 age 라는 키를 가지고 하나의 변수로 사용하여 접근이 가능하다.
배열 또한 동일하게 동작한다.
const array=["one","two","three"];
const [one,two,three]=array;
console.log(one)//"one"
console.log(two)//"two"
console.log(three)//"three"
기존의 배열에서 인덱스 번호로 해서 값을 받아올수 있지만 구조분해 할당을 한다면 각각의 순서에 맞게 값이 들어감과 동시에 변수로 사용이 가능하다.
함수의 파라미터에 쓰여서 뒤에 남는 요소들을 배열로 받아 준다. 즉 함수 안에서 파라미터로 값을 사용하지 않는 나머지는 배열로 반환한다는 얘기다.
function test(a, b, ...rest){ // Rest 파라미터 (...rest)
console.log(a, b); // 1 2
console.log(rest); // [3, 4, 5]
}
test(1, 2, 3, 4, 5);