<aside> 💡 ES6에서 등장한 문법으로써, 배열이나 객체 속성을 해체하여 개별 변수에 값을 담을 수 있는 JavaScript 표현식을 말합니다. 또는 구조 분해 할당이라고 명칭 합니다.
</aside>
<aside> 💡 배열, 객체 내 값을 추출하는 코드가 매우 간단해진다. 필요한 객체와 나머지 요소 분리가 매우 간단하다. 기본값 지정이 가능하다.
</aside>
만약, object가 다음과 같이 생겼다면, 프로퍼티(key값)을 변수로 선언해 바로 해당 object의 값을 이용할 수 있습니다.
const object = { a: 1, b: 2 };
const { a, b } = object;
/*
얘와 같아요
const a = object.a; // 하위 속성이 있을 때 쓸 수 있습니다
const b = object.b;
*/
console.log(a); // 1
console.log(b); // 2
함수에서도 가능합니다.
const object = { a: 1, b: 2 };
function print({ a, b }) {
console.log(a);
console.log(b);
}
print(object);
// 이렇게 쓰면 좋은점
function Example(a, b, c) {
...
}
Example(a=1, b=2, c=3) // 이렇게 순서를 맞춰 넣어줘야하는데
function Example({a, b, c}) {
...
}
Example({a:1, c:3, b:2}) // key 이름만 맞춰주면 된다~
변수명 변경
변수의 이름도 바꿀 수 있어요
const animal = {
name: '멍멍이',
type: '개'
};
const { name: nickname } = animal // animal의 name이라는 속성을 nickname으로 쓸꺼야
console.log(nickname); // '멍멍이'
배열도 됩니다
const array = [1, 2];
const [one, two] = array;
console.log(one);
console.log(two);