자바스크립트는 브라우저 환경 또는 Node.js 환경에서 실행할 수 있다. 하지만 브라우저와 Node.js는 용도가 다르다는 것이다.
브라우저는 HTML, CSS, 자바스크립트를 실행해 웹페이지를 브라우저 화면에 렌더링하는 것이 주된 목적이고, Node.js는 브라우저 외부에서 자바스크립트 실행 환경을 제공하는 것이 주된 목적이다.
따라서 브라우저와 Node.js 모두 자바스크립트의 코어인 ECMASCript를 실행할 수 있지만 브라우저와 Node.js에서 ECMAScript 이외에 추가로 제공하는 기능은 호환되지 않는다.
브라우저는 클라이언트 사이드 Web API를 지원하고, Node.js는 고유의 Host API를 지원한다.