[TIL] Javascript와 Node.js의 차이점

김은혁·2022년 1월 6일
0

처음 Node.js를 배웠을 때 Node.js가 Javascript의 런타임으로 Javascript를 이용해 서버 구축을 할 수 있게 해주는 것이라는 말은 배웠지만 그게 정확히 무슨 의미인지에 대해 깊게 생각해본 적은 없었다. 오늘 그 공부한 내용을 정리해보며 다시 둘의 차이를 상기시켜보겠다.

Javascript는 독립적인 언어가 아니라 스크립트 언어로서, 특정한 프로그램 안에서만 동작을 한다. 크롬 같은 웹 브라우저가 없으면 동작을 하지 않는 단점이 있는 것이다. 이 때문에 Javascript는 client 개발(Front-end)에 국한되어 있었다.

이러한 한계에서 벗어나 Javascript를 웹 브라우저가 아닌 컴퓨터에서 다양한 용도로 확장시킬 수 있게 만든 것이 Node.js이다. Node.js를 통해 터미널을 통해 브라우저 없이 Javascript를 실행할 수 있게 됐다. 이로 인해 Node.js를 이용하면 다른 언어처럼 내 컴퓨터에서 파일 시스템을 사용하거나 서버를 구축, 크롤링을 하는 등의 작업이 가능해졌다.

이 말은 즉 Node.js 자체는 웹 서버가 아니라는 말이다. Express를 사용하면 Node.js에서 서버를 구축할 수 있다. 이런 프레임워크 없이도 자체 모듈을 통해 서버를 구축할 수 있지만 여러 가지 편의성과 일관성을 고려해보자면 Express를 사용하는 것이 이득인 경우가 많다.

위에서 Javascript는 Client 개발을 할 수 있다고 이야기하였는데 때문에 BOM 객체나 DOM 객체에 접근이 가능하다. 반대로 Node.js에서는 DOM, BOM 객체에 접근이 불가능하다.

  • Node.js에서 불가능
const node = document.body
  • Javascript에서 불가능
const js = require('http')

0개의 댓글