본문 바로가기

Javascript2

Event Loop 자바스크립트는 Single Thread 기반의 언어로 한 번에 하나의 작업만을 처리할 수 있는 특징을 가지고 있다. 하지만 동시에 비동기 작업을 처리할 수 있어 동시에 많은 작업을 처리할 수 있다는 특징을 가지고 있기도 하다. 이 때 비동기로 동작하는 핵심 요소는 Node.js의 libuv 라이브러리와 브라우저가 가지고 있다. 싱글 쓰레드임에도 동시에 여러 작업을 처리하는 이와 같은 특징은 이벤트 루프에 기반한다. 자바스크립트는 싱글 쓰레드에서 작업을 처리하기 때문에 시간이 오래 걸리는 작업은 다른 작업을 진행할 수 없도록 한다. 이를 차단 기능이라고 부른다. 차단되는 것을 방지하기 위해 다양한 방법을 이용한다.(setTimeout, Promise 등) 브라우저는 Call Stack, Heap, Even.. 2023. 1. 24.
Event Propagation 이번 글은 발생된 이벤트의 전파에 대한 글이다. https://developer.mozilla.org/en-US/docs/Web/API/Event Event - Web APIs | MDN The Event interface represents an event which takes place in the DOM. developer.mozilla.org 이벤트는 사용자의 액션에 의해 발생할 수도 있고, API에 의해 생성될 수도 있고, 요소를 선택한 후 click 메소드를 호출하는 방식 혹은 dispatchEvent를 통해 발생될 수도 있다. 특정 상황에서 발생하기를 원하는 이벤트는 onEvent와 같은 형식으로 DOM Node에 부착되거나 addEventListener를 통해 Event발생 시 Event .. 2023. 1. 23.