티스토리 뷰

JS | Node.js

[JS]JavaScript와 Node.js

rimo (리모) 2023. 11. 7. 22:14

 

 

둘 다 자바스크립트 아닌가요? 뭐가 다른거죠?

언어는 같으나 실행 환경과 목적이 다릅니다❗

 


 

Javascript

Javascript는 HTML에 종속되어 있는 스크립트 언어이며, 동적인 HTML DOM 조작을 위해 사용됩니다.

Javascript를 해석하는 주체는 웹 브라우저(구체적으로 말하면 웹 브라우저에 탑재된 엔진)입니다.

대표적으로 Chrome에서 사용한 V8이 있죠.

 

  • Chrome : V8
  • Firefox : SpiderMonkey
  • Safari : JSCore
  • MS Edge : Chakra
  • Opera : Carakan
  • Adobe Flash : Tamarin

 

Javascript는 웹 브라우저에서 HTML이라는 문서를 다루는 용도로 사용되는 언어라고 할 수 있습니다.

 

console.log(this); // Window

 

 

Node.js

Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임입니다.

 

Node.js is an open-source and cross platform JavaScript runtime environment. It is a popular tool for almost any kind of project! Node.js runs the V8 JavaScript engine, the core of Google Chrome, outside of the browser. This allows Node.js to be very performant. 


Node.js가 등장하기 이전까지의 Javascript는 웹 브라우저 없이는 동작할 수 없었으며,

클라이언트 개발을 위한 용도로 국한되어 있었습니다.

 

이후 구글에서 V8 엔진이 발표되었고,  Javascript의 수요가 증가하면서 

웹 브라우저 없이 서버 및 응용 프로그램 개발 환경을 제공하도록 만들어진 것이 Node.js입니다.

 

console.log(this); // {}

 


 

웹 브라우저에 동작하는 Javascript에선 `this`를 출력하면 Window 객체가 출력됩니다. 또 DOM 구조에 접근할 수 있죠.

 

그러나 Node.js에서 동작하는 Javascript에서 `this`를 출력하면 빈 Object가 출력됩니다.

DOM 구조에 접근할 수 없지만 DB를 연결하거나 FileSystem을 이용할 수 있습니다.

 

같은 Javascript 임에도 불구하고 서로 다른 기능 범위 내에서 동작한다는 것 확인할 수 있죠 ⭐

 

즉 Javascript라는 같은 언어를 사용하지만,

브라우저에서 동작하는지 Node.js에서 동작하는지에 따라 그 사용 목적과 방법이 달라진다는 것입니다.

 

 

 

 

[참고자료]

 

Javascript와 Node.js 개념 정리(제대로 알자) - 오해가 풀린 이후 프롤로그 추가 후 공개함

프롤로그 본 글은 최근 시니어 개발자와 커뮤니케이션 과정에서 발생한 내용을 수정한 글이다. 결론만 말하자면, 그가 말한 React.js는 Next.js를 말한 것이었으며, 필자는 React.js 자체를 말한 것이

choewy.tistory.com

 

 

감사합니다. 

 


공부한 내용을 복습/기록하기 위해 작성한 글이므로 내용에 오류가 있을 수 있습니다.

 



댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday