ES6부터 추가된 문법이며 구조 분해 할당이라고도 하고 , 배열이나 객체의 값을 새로운 변수에 쉽게 할당한다.
<script>
const object = { a: 1, b:2, c:3 };
const { a, b } = object;
console.log(a);
console.log(b);
function print({ a, b }) {
console.log(a);
console.log(b);
}
print(object);
// 1
// 2
</script>
비구조화 할당은 배열 값중에 일부만 꺼내서 사용할 수 있다.
위 코드처럼 a , b , c 세 가지의 값중 a와 b 값만 가져와서 사용하는 것을 볼 수 있다.
중괄호를 작성하고 비구조화 할당을 하고자하는 객체의 프로퍼티 명을 쓰면 된다.
비구조화 할당에서 이름 바꾸기
<script>
const animal = {
name: "멍멍이",
type: "개"
};
const {name : nickname} = animal;
console.log(nickname);
// 멍멍이
</script>
비구조화 할당을 통해 좀 더 편하게 객체의 이름을 변경할 수 있다.
animal name에 있는 값을 꺼내와서 nickname에 할당하면 nickname에 name 값 "멍멍이"가 할당된다.
<script>
const array = [1, 2];
const [one, two] = array;
console.log(one);
console.log(two);
// 1
// 2
</script>
비구조화 할당을 사용하지 않으면 하나하나 변수에 지정 해야하는 번거러움이 있다.
하지만 배열 비구조화 할당을 통해 간단하게 할당이 가능하다.
객체에서 쓰는 {} 대신 배열에서 쓰이는 []를 사용하면 배열의 첫번째 0번째 인덱스를 가르킨다.