자바스크립트(JavaScript)란?

설정·2021년 4월 14일
0

🤔 자바스크립트(JavaScript)란?

JavaScript는 HTML과 CSS로 만들어진 웹페이지를 동적으로 변경해주는 언어로 자바스크립트로 작성한 프로그램을 스크립트(Script)라고 부른다.
HTML로는 웹의 내용을 작성하고 CSS로는 웹을 디자인하며, JavaScript로는 웹의 동작을 구현한다.

자바스크립트는 주로 웹 브라우저에서 사용했지만, 지금은 Node.js와 같은 프레임워크를 사용하여 서버에서도 실행할 수 있다.

🤔 Node.js란?

Node.js의 공식홈페이지에 따르면 Node.js는 "Chrome V8 JavaScript엔진으로 빌드된 JavaScript 런타임"이라고 소개가 되어있다.
즉, Node.js는 JavaScript의 runtime으로 JavaScript Program을 실행할 수 있게 해줄 뿐, Node.js 자체는 웹서버가 아니란 말이다.

웹어플리케이션을 개발할 때에는 JavaScript를 사용하게 되는데 모든 브라우저가 JavaScript 코드를 해석하기 위해 자바스크립트 엔진(JavaScript Engine)이 내장되어있다.

  • V8 : Chrome과 Opera
  • SpiderMonkey : Firefox

Node.js는 크롬의 V8엔진을 이용해 브라우저에서 JavaScript를 해석하듯이 서버에서 JavaScript를 동작할 수 있도록 해줄 뿐이며, JavaScript를 브라우저 내에서만 사용하는 것이 아닌, 브라우저 외의 환경에서도 사용하고, 빨리 실행될 수 있도록 개선되어 개발 된 것이 바로 Node.js다

🤔 런타임(runtime)이란?

현재 내 프로그램이 실행되고 있을 때 존재하는 곳으로 즉, 프로그래밍 언어가 구동되고 있는 환경을 말한다.
JavaScript는 크게 두가지 런타임이 존재한다(WebBrowser와 Node.js)

  • WebBrowser : HTML Script 태그를 이용하여 브라우저에서 실행
  • Node.js : nodeFileName.js를 이용하여 Node.js환경에서 실행

    👉 Node.js를 실행하기 위해서는?
    $ node <파일이름.js>

🤔 Node.js와 브라우저의 차이

Node.js와 브라우저는 모두 JavaScript를 사용하지만 차이점이 있다.
바로 Node.js에는 DOM이 존재하지 않는다라는 점이다.
이 말은 브라우저에서 제공하는 window, document같은 객체가 존재하지 않는다는 뜻이다.

그리고 또 하나의 차이점은 Node.js는 CommonJS 모듈을 사용하지만, 브라우저는 ES 모듈 표준을 사용한다는 뜻이고, 이것은 Node.js는 require()을, 브라우저는 import를 사용한다는 의미이다.

0개의 댓글