우선 js 즉 자바스크립트는 브라우저, 문서 등을 다루는 client에 대한 개발을 하는 도구이다.
nodejs는 백엔드에서 서버에 대한 개발을 하는 도구이다.
nodejs는 chrome의 자바스크립트 엔진인 v8이 Desktop App으로 추출된 것이다.
nodejs를 이용해서 Express 같은 라이브러리를 사용하여 자바스크립트 언어로 서버를 구축하기도 한다.
자바스크립트는 독립적인 언어가 아니라 스크립트 언어로서 특정한 프로그램 안에서만 동작을 할 수 있는데, 크롬, 파이어폭스, 사파리, 익스플로러 등 이런 웹 브라우저가 없으면 사용할 수 없는 단점이 있었다. 따라서 client개발을 위한 용도로만 국한되어 있었다.
nodejs는 터미널 프로그램(원도우 cmd, mac terminal 등)에서 node를 입력하여 브라우저 없이도 실행할 수 있게 됐다.
자바스크립트를 크롬(Chrome)같은 브라우저에서만 쓰는 것이 아닌 브라우저 밖. 즉 내 컴퓨터에서 다양한 용도로 확장하기 위해 만들어진 것이 바로 nodejs이다. nodejs를 이용하면 Python과 같이 내 컴퓨터에서 File System를 이용할 수 있고 서버를 만들 수도 있고 크롤링도 할 수 있다. 결국은 자바스크립트도 Python과 같은 프로그래밍 언어이기 때문이다.
nodejs를 이용하여 Express같은 라이브러리를 이용해서 서버를 만들지만 nodejs 자체는 웹서버가 아니다..
Node.js의 장점
js와 nodejs 정리
자바스크립트
node