자바스크립트가 단일 쓰레드인 이유

자바스크립트는 1995년에 출시된 언어로, 당시에는 자바스크립트가 웹 페이지의 동적인 기능을 처리하기 위해 개발된 언어였다.

당시 웹 페이지의 스크립트는 단순한 동적 기능(ex. 폼 유효성 검사, 애니메이션)을 담당하고 있었으며, 브라우저는 이러한 스크립트를 처리하기 위해서는 단일 쓰레드로도 충분했기 때문에 자바스크립트는 단일 쓰레드인 것이다.

이후 웹 애플리케이션이 다양해지고 복잡해지면서 자바스크립트가 해야할 일들이 많아졌고, 이런 일들을 단일 쓰레드로 하나씩 처리한다는 것은 심각한 성능 저하를 불러오게 된다.

따라서 비동기로 일을 처리할 수 있는 능력이 필요해짐에 따라 이후에 이벤트 루프라는 개념이 등장하게 된다.