컴파일: 프로그래밍 언어는 주로 고급 언어로, 기계(컴퓨터)가 바로 이해할 수 없다. 따라서 고급 언어로 작성된 소스 코드를 기계어로 변환하는 과정
자바스크립트는 인터프리터 언어라 컴파일 타임이 없다 ≠ 컴파일을 하지 않는다
컴파일 과정이 없는 고급 언어는 존재할 수 없다
브라우저만이 자바스크립트의 유일한 런타임이었는데
Nodejs가 브라우저 밖에서 자바스크립트를 사용할 수 있는 환경을 제공한다. 이로 인해 자바스크립트로 데스크탑 앱도 만들고, 서버도 만들고 할 수 있다.
백엔드 로직도 직접 작성하고 싶은 프론트엔드 개발자에게 추천
Nodejs 자체는 멀티 쓰레드
이벤트 루프가 단일 쓰레드
Nodejs로 백엔드를 만든다면
멀티 쓰레드 환경에서 발생할 수 있는 복잡한 시나리오를 신경 쓸 필요가 없으며 비동기 처리를 통해 쉽게 여러 요청을 처리할 수 있다.