Javascript Interview Kr

자바스크립트 인터뷰 질문 리스트

이벤트 위임에 대해 설명하세요.

이벤트 위임(Event Delegation)은 이벤트를 하위요소에 추가하는 대신, 하나의 부모 요소에 이벤트 핸들러를 바인딩하는 기법입니다.

function printId() {
    window.alert(this.id + ' is clicked!')
};

document.querySelector('#child-1').addEventListener('click', printId);
document.querySelector('#child-2').addEventListener('click', printId);
document.querySelector('#child-3').addEventListener('click', printId);
document.querySelector('#child-4').addEventListener('click', printId);
document.querySelector('#child-5').addEventListener('click', printId);
document.querySelector('#child-6').addEventListener('click', printId);
document.getElementById('parent').addEventListener('click', function (e) {
	if (e.target && e.target.nodeName == 'LI') {
		window.alert(e.target.id + ' is clicked!');
	}
});
  • 리스너는 DOM의 event bubbling으로 인해 하위 요소에서 이벤트가 발생될 때마다 실행되고, 부모 element로 전파되어 document 레벨까지 도달하게 된다.
  • 각 하위 항목에 이벤트를 연결하지 않고, 상위 하나의 단일 핸들러만 만들엇기에, 메모리 사용공간도 줄어든다.

this가 JavaScript에서 어떻게 작동하는지 설명하세요.

this의 값은 호출 되는 방식에 따라 달라집니다.

Written on October 24, 2021