프로그래밍이란 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이며 0과 1밖에 모르는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업이다.
프로그래밍 언어는 구문(syntax)과 의미(semantics)의 조합으로 표현되며 다른 언어와 마찬가지로 문법에 맞는 문장을 구성하는 것은 물론 의미(semantics)를 가지고 있어야 언어의 역할을 충실히 수행할 수 있다.
브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈가 발생하여 표준화된 자바스크립트의 필요성이 대두되었고 ECMA 인터내셔널이 ECMAScript라는 이름의 표준화된 자바스크립트를 공개하였다.
자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능인 Ajax가 XMLHttpRequest라는 이름으로 등장함에 따라 서버로부터 필요한 데이터만 전송받아 변경해야 하는 부분만 한정적으로 렌더링하는 방식이 가능해졌다.
jQuery의 등장으로 DOM을 더욱 쉽게 제어할 수 있게 되었다.
더 빠르게 동작하는 자바스크립트 엔진의 필요성이 대두됨에 따라 구글이 공개한 자바스크립트 엔진이다.
구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다.
Node.js는 비동기 I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작함으로써 요청 처리 성능이 좋다.