Lined Notebook

이벤트

by yjym33

1. 이벤트(event)란?

 - 어떤 사건을 의미한다.
   ex) 사용자가 버튼을 클릭했을때, 웹페이지가 로드 되었을때
 - 브라우저는 이벤트를 감지할 수 있으며 이벤트 발생 시 알려 줄 수 있으며 이를 통해 사용자와 웹페이지가 상호 작용이 가능하다.
 - 이벤트 핸들러를 통하여 이벤트가 발생시 원하는 함수에 연결하여 실행 시킬 수 있다.

<!DOCTYPE html>
<html>
<body>
  <button class="myButton">Click me!</button>
  <script>
    document.querySelector('.myButton').addEventListener('click', function () {
      alert('Clicked!');
    });
  </script>
</body>
</html>

이벤트가 발생하면 그에 맞는 반응을 하여야 한다. 이를 위해 이벤트는 일반적으로 함수에 연결되며 그 함수는 이벤트가 발생하기 전에는 실행되지 않다가 이벤트가 발생되면 실행된다. 이 함수를 이벤트 핸들러라 하며 이벤트에 대응하는 처리를 기술한다.

 

2. 이벤트 루프(Event Loop)와 동시성(Concurrency)

브라우저는 단일 쓰레드(single-thread)에서 이벤트 드리븐(event-driven) 방식으로 동작한다.

 

단일 쓰레드는 쓰레드가 하나뿐이라는 의미이며 이말은 곧 하나의 작업(task)만을 처리할 수 있다는 것을 의미한다. 하지만 실제로 동작하는 웹 애플리케이션은 많은 task가 동시에 처리되는 것처럼 느껴진다. 이처럼 자바스크립트의 동시성(Concurrency)을 지원하는 것이 바로 이벤트 루프(Event Loop)이다.

 

이벤트 루프

 

'Development > Javascript' 카테고리의 다른 글

자바스크립트 필수개념들 정리 (함수, 객체, 비동기, 프로토타입 등)  (0) 2023.10.06
This  (0) 2023.09.20
클로저  (0) 2023.09.20
실행 컨텍스트  (0) 2021.08.06
프로토타입  (0) 2021.08.04

블로그의 정보

생각보다 실천을

yjym33

활동하기