본문으로 바로가기

Destructuring

category JavaScript/ES6 2020. 10. 21. 22:11

Destructuring

검색해보니 구조 분해, 비 구조화, 구조 파괴 등 여러가지로 불리우고 있었다

이건 뭐 설명을 못 하겠다 그냥 예제 코드로 살펴보자

배열

const data = [1,2,3,4,5];
const [a,,,b] = data;

console.log(a,b);

두번째 줄에 배열 형식으로 변수 a와 b를 선언하고 data를 할당해주는데

a와 b의 위치에 있는 data의 값과 매치해서 할당된 것을 볼 수 있다

객체

객체도 사용이 가능하다

const obj = {
    name : 'obj',
    age : 13,
    sayHello : function () {
        console.log('hi');
    }
}
const {name ,sayHello} = obj;

console.log(name);
sayHello();

객체는 배열과는 조금 다르게 위치와 매치하지않고 이름과 매치해서 변수를 할당시켜준다

활용

이벤트 핸들러의 이벤트 객체에서 활용이 가능하다

addEventListener

const bodyElem = document.querySelector('body');

bodyElem.addEventListener('click', function ({clientX,clientY}){
    console.log(clientX, clientY);
})

이 코드는 body태그에서 마우스 클릭시 마우스의 좌표를 콘솔에 출력하는 코드인데

원래라면 event객체를 받아와서 event.clientX , event.clientY로 사용했지만

event객체가 넘어오는 자리에 Destructuring을 사용해 evnet객체의 clientX,clientY 값만 뽑아온 것이다

'JavaScript > ES6' 카테고리의 다른 글

class  (0) 2020.11.03
arrow function  (0) 2020.10.26
Weakmap, Weakset  (0) 2020.10.25
Array  (0) 2020.10.20
var, let, const  (0) 2020.10.07