스크립트 언어와 Node JS

박진영·2020년 7월 17일
0

About Javascript

목록 보기
1/2

자바스크립트를 스크립트 언어라고 하지만, 스크립트 언어가 무엇인지에 대해 생각해 본 적이 없다. 언어 이름에 '스크립트'가 있으니까 당연히 스크립트 언어겠지? 라는 1차원적인 생각만 가지고 있었다😐

스크립트 언어

무언가를 지시해놓은 언어

면접이나 인터뷰, 발표를 할 때 '스크립트를 한번 짜 봐'라는 말을 많이 한다. 여기서 스크립트는 주로 말이 막혔을 때 참고하는 '가이드'의 역할을 하지만 다시 말하면 '말이나 행동을 지시해놓은 것'이라고 할 수 있다.
이런 관점에서 자바스크립트는 '웹문서의 동작을 지시해놓은 언어'라고 할 수 있다. 그리고 이는 웹브라우저를 통해 실행된다. 다시 말해 웹브라우저를 통해서만 자바스크립트라는 스크립트를 바로 읽을 수 있다.

컴파일 과정이 없다

자바스크립트는 소스코드를 컴파일하지 않고도 실행할 수 있는 언어이다.
C나 java같은 경우 gcc, java 등의 명령어를 통해 소스코드를 기계어로 번역하는 컴파일과정을 거친다.
자바스크립트는 그러한 컴파일 과정 없이 HTML 안에 넣으면 브라우저에서 웹페이지를 불러올 때 자동으로 실행된다.
이는 빠르고 쉽게 코드를 작성할 수 있다는 장점이 있지만 제어자, 데이터 타입 등의 설정을 하지 않기 때문에 보안에 취약하고 정밀한 연산을 할 수 없다는 단점이 있기도 하다.

Node JS란?

앞서 말했듯이 자바스크립트는 크롬, 사파리와 같은 웹브라우저를 통해서만 읽을 수 있다. 즉, 웹브라우저에 종속된 언어이다. 이러한 제약을 벗어나게 해준 것이 Node.js이다. Node js는 자바스크립트를 웹브라우저가 아닌 외부에서도 돌릴 수 있게 해주는 녀석이다. Node js 공식 홈페이지(https://nodejs.org/ko/)에서 소개하는 Node js는 다음과 같다.

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

크롬에서 개발한 v8엔진이라는 것을 통해 자바스크립트를 웹브라우저가 아닌 곳에서도 돌릴 수 있게 해준다는 것이다.

예시

기존 자바스크립트는 html안에 script 태그로 삽입하면 웹브라우저가 자동으로 실행해준다. 개발자도구 console을 통해 확인할 수 있다.

<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      const js = "javascript";
      console.log(`${js} in broswer`);
    </script>
  </body>
</html>

동일한 내용을 node js를 통해 실행하면 js 코드만 있으면 되며, node ~ 명령어를 통해 실행할 수 있다.

const js = "javascript";
console.log(`${js} in node`);

Node js를 통해 JS의 쓰임새가 확장되면서, JS만으로 서버를 만들거나 다양한 라이브러리, 프레임워크를 만들 수 있게 되었다. Node js는 JS를 대세로 만들어주었다!

마무리

스크립트언어가 무엇인지, 심지어는 Node js의 정의에 대해서도 이해가 잘 안갔었다가 자바스크립트 튜토리얼을 읽으면서 다시 정리하면서 알게 되었다. 앞으로도 이러한 이해과정을 계속 해봐야 겠다.

참고

profile
프론트엔드 공부중! 피드백 환영입니다

0개의 댓글