3.1 자바스크립트 실행 환경
모든 브라우저와 Node.js는 자바스크립트를 해석하고 실행할 수 있는 자바스크립트 엔진을 내장하고 있다.
기본적으로 브라우저에서 동작하는 코드는 Node.js 환경에서도 동일하게 동작한다.
단, 이 둘은 용도가 다르다. 브라우저는 HTML, CSS, JS를 실행해 웹페이지를 브라우저 화면에 렌더링하는 것이 주된 목적이지만
Node.js는 브라우저 외부에서 자바스크립트 실행 환경을 제공하는 것을 주된 목적으로 하고있다. (ECMAScript 이외에 추가로 제공하는 기능은 호환되지 않는다.)
3.2 웹 브라우저
구글 크롬은 ECMAScript 사양을 준수하며 시장 점유율도 가장 높다. Node.js에서도 크롬 브라우저의 V8 자바스크립트 엔진을 사용하고 있다.
브라우저의 개발자 도구를 통해 로딩된 웹페이지의 DOM, CSS를 편집해서 렌더링된 뷰를 확인해 볼 수 있고, 콘솔을 통해 에러를 확인하거나 소스코드에 작성한 console.log 메서드의 실행 결과를 확인할 수 있다. 이처럼 개발자 도구를 통해 자바스크립트 코드 디버깅, 네트워크 요청 정보, 웹 스토리지 관리 등 다양한 기능을 사용할 수 있다.
3.3 Node.js
프로젝트의 규모가 커짐에 따라 React, Angular 같은 라이브러리/프레임워크를 도입하거나,
Babel, Webpack 등 여러 도구를 사용할 필요가 있다. 이때 Node.js와 npm이 필요하다.
3.3.1 Node.js와 npm 소개
Node.js는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이며 간단히 말해 브라우저 이외의 환경에서
자바스크립트를 동작시킬 수 있는 자바스크립트 실행 환경이다.
npm은 자바스크립트 패키지 매니저로, Node.js에서 사용 가능한 모듈들을 패키지화해서 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI를 제공한다.
3.3.2 Node.js REPL
Node가 제공하는 REPL을 사용하면 간단한 자바스크립트 코드를 실행해 결과를 확인할 수 있다.
터미널에 node 명령어를 입력하면 프롬프트가 > 로 변경되며 자바스크립트 코드 실행이 가능하다.
자바스크립트 파일을 실행하고 싶다면, node 명령어 뒤 파일 이름을 입력한다. (확장자 생략 가능)
단, 실행하려는 자바스크립트 파일의 소스코드에 alert 같은 클라이언트 사이드 Web API가 존재하면 에러가 발생한다. (~ is not defined)
이는, 브라우저와 Node.js에서 공통으로 쓰이는 ECMAScript가 아닌 브라우저에서만 사용이 가능한 클라이언트 사이드 Web API이기 때문이다. 즉, Node.js에서는 사용이 불가하다.
'Etc.' 카테고리의 다른 글
혼자하는 <모던 자바스크립트 딥 다이브> 스터디 #02장 자바스크립트란? (0) | 2023.04.16 |
---|---|
혼자하는 <모던 자바스크립트 딥 다이브> 스터디 #프롤로그 (0) | 2023.04.15 |
개발자의 글쓰기 7장 - 기술 블로그 쉽게 쓰고 운영하기 (0) | 2023.01.15 |
개발자의 글쓰기 4장 - 사용자와 소통하는 에러 메시지 쓰기 (2) | 2023.01.15 |
개발자의 글쓰기 3장 - 사용자와 소통하는 에러 메시지 쓰기 (0) | 2023.01.15 |