면접 예상 질문3 "자바스크립트에서 '이벤트 버블링(Event Bubbling)'과 '이벤트 캡처링(Event Capturing)'에 대해 설명해주세요." 이벤트 버블링 특정 요소에서 발생하는 이벤트가 발생한 자식 요소에 부터 DOM트리를 따라 부모 요소로 전파되는 현상이다. 이벤트 버블링을 활용하면, 여러 요소에 대해 하나씩 이벤트 리스너를 구축하지 않아도 부모요소에서 자식 요소의 이벤트를 감질 할 수 있다. (이벤트 위임) 이벤트 캡처링 이벤트 버블링과 반대의 개념으로 생각하면 된다. (부모 요소에서 자식 요소로) 이벤트 캡처링은 이벤트 처리의 초기 단계에서 주로 사용되며, 특정 이벤트를 자식 요소에 도착하기 전에 캡처하고 싶을 때 유용하다. 이벤트 리스너를 사용할 때 3번 째 요소로 true를 지정하면 이벤트 캡처링 단계에서 이벤트 리스너가 호출된다. 음..대부분 상위 요소를 클릭하니까 캡처링부터 시작되어 버블링이 되지 싶다. 2024. 3. 14. "자바스크립트의 '스코프(Scope)'와 '스코프 체인(Scope Chain)'에 대해 설명해주세요." 스코프는 함수나 변수에 대한 접근 권한과 유효 범위를 말한다. 각 함수가 생성 될 때 스코프가 생성되고 함수의 내부에 생성된 변수는 해당 스코프에 속한다. 스코프는 중첩 가능하고, 내부 스코프는 외부 스코프를 참조 가능하며, 외부 스코프는 내부 스코프를 직접적으로 참조할 수 없다. 스코프 체인은 이러한 스코프에서 변수를 찾는데 사용되고, 현재 스코프에서 찾지 못 하면 이보다 상위 스코프에서 찾는데, 이러한 과정은 전역 스코프까지 진행된다. 스코프의 유형에는 글로벌 스코프와 지역 스코프(로컬 또는 함수 스코프), ES6 이후에는 let과 const 키워드를 사용하여 블록 레벨 스코프를 생성할 수 있다.\ 글로벌 스코프 1. 코드의 최상위 레벨에서 선언된 변수는 어디서든지 접근 가능한 글로벌 스코프를 가진다.. 2024. 3. 14. "프로미스(Promise)와 콜백(Callback)의 차이점에 대해 설명해주세요." promise와 callback은 둘다 비동기 작업을 처리하는 방법이다. 차이점으로는 구조와 가독성, 에러 처리, 상태 관리가 있으며, 구조와 가독성 - promise를 사용하면, 비동기 작업을 좀 더 선언적으로 표현할 수 있고, 코드의 가독성이 callback에 비해 향상된다. 반면, callback은 중첩 사용 시에 흔히 말하는 callback지옥에 빠질 수 있다. 에러처리 - promise는 catch() 메서드를 이용해서 에러 처리를 관리 할 수 있다. callback은 각 callback 함수마다 에러 처리 로직을 적용해야한다. 상태 관리 - promise는 pending, fullfiled, rejected 3가지 상태를 가지고, 이 상태들을 이용해서 비동기 작업의 결과를 명확하게 다룰 수 있.. 2024. 3. 11. 이전 1 다음