개발/Javascript 2

Javascript Event Loop로 알아보는 Event Driven Programming

Event Driven Programming자바스크립트나 파이썬, Redis 등 싱글 스레드 기반으로 동작하는 프로그래밍 도구들을 보면 모두 내부적으로 이벤트 기반 프로그래밍(Event Driven Programming) 을 활용한다는 걸 알 수 있다. 다중 스레드 기반으로 운영되긴 하지만 네트워크 프레임워크 Netty 역시 이벤트 기반 프로그래밍 방식으로 구현되어 있어서 이벤트 루프가 핵심이라고 한다. 이벤트 기반 프로그래밍은 프로그램의 동작이 이벤트에 의해 트리거되는 방식으로 설계되는 프로그래밍 패러다임이다. 쉽게 말하면, 이벤트들을 처리하기 위해서 작업을 큐에 넣고 이벤트가 발생하면 꺼내서 처리하는 방식인 셈이다. 멀티 스레딩의 복잡성을 버리고, 프로그램의 구조를 단순화하고 비동기 작업을 보다 용이..

개발/Javascript 2025.01.12

javascript에서 onclick과 addEventListener 차이점(+이벤트 캡처링 vs. 버블링)

자바스크립트 onclick과 addEventListener를 둘 다 사용하다가 문득 두 메서드의 차이가 궁금해져서 간략히 정리해 본다. onclick - 단일 콜백 함수(리스너)만 지정 사용 가능 - 하나의 이벤트만 사용하므로 중복될 경우 앞선 이벤트를 덮어씀 - 거의 모든 브라우저에서 작동 - 구형 IE(9 이하)에서도 동작 addEventListener - 모던 자바스크립트로 넘어오면서 새롭게 추가 - 이벤트 중첩이 가능함 - 여러 개의 이벤트를 등록해도 모두 동작(덮어쓰지 않음) - IE9 이상 거의 모든 브라우저에서 작동 - 이벤트 전파 단계(캡처링 vs. 버블링) 조절 가능 (3번째 options 매개변수) 이벤트 캡처링 vs. 버블링 (Propagation) 기본값은 버블링 = {capture..

개발/Javascript 2023.03.29
728x90
반응형