Modern Javascript Deep Dive - 1~3장 자바스크립트와 개발환경, 실행방법

프론트 개발자가 되기위해 Javascirpt 공부를 시작하게 되었습니다. Javascript를 좀 더 깊게 공부하고 싶어 모던 자바스크립트 Deep Dive 을 읽고 각 장마다 정리한 글입니다.

image

1장 프로그래밍

2장 자바스크립트란?

2-1. 자바스크립트의 특징

웹 브라우저에서 동작하는 유일한 프로그래밍 언어

자바스크립트는 인터프리터 언어이다.

컴파일러 인터프리터
코드가 실행되기 전 단계인 컴파일 타임에 소스코드 전체를 한번에 머신 코드로 변환한 후 실행한다. 코드가 실행되는 단계인 런타임에 문 단위로 한 줄씩 중간 코드인 바이트코드로 변환한 후 실행한다.
실행 파일 생성 실행 파일 생성하지 않음
컴파일 단계와 실행 단계가 분리되어 있다. 명시적인 컴파일 단계를 거치고, 명시적으로 실행 파일을 실행한다. 인터프리트 단계와 실행 단계가 분리되어 있지 않다.
인터프리터는 한 줄 씩 바이트코드로 변환하고 즉시 실행한다.
실행에 앞서 컴파일 수행 코드가 실행될 때마다 인터프리트 과정이 반복 수행
컴파일과 실행 단계가 분리되어 있으므로 코드 실행 속도가 빠르다. 인터프리트 단계와 실행 단계가 분리되어 있지 않고 반복 수행되므로 코드 실행 속도가 비교적 느리다.

자바스크립트는 명령형(imperative), 함수형(functional), 프로토타입 기반 객체지향 프로그래밍(prototype-based)을 지원하는 멀티 패러다임 프로그래밍 언어다.

3장 자바스크립트 개발 환경과 실행 방법

3-1. 자바스크립트 실행 환경

모든 브라우저는 자바스크립트를 해석하고 실행할 수 있는 자바스크립트 엔진을 내장하고 있다. Node.js 도 포함

그러나 브라우저와 Node.js는 용도가 다르다.

  • 브라우저: HTML, CSS, 자바스크립트를 실행해 웹페이지를 브라우저 화면에 렌더링하는 것이 주 목적
  • Node.js: 브라우저 외부에서 자바스크립트 실행 환경을 제공하는 것이 주 목적

→ 브라우저와 Node.js 모두 자바스크립트의 코어인 ECMAScript를 실행할 수 있지만 브라우저와 Node.js에서 ECMAScript 이외에 추가로 제공하는 기능은 호환되지 않는다.

예를 들어 브라우저에서 제공해주는 DOM API는 Node.js에서는 제공하지 않는다.

  • 브라우저: 클라이언트 사이드 Web API 지원
  • Node.js: Node.js 고유의 API 지원

3-2. 간단한 자바스크립트 실행

// index.js
const arr = [1, 2, 3];

arr.forEach(console.log);

// node index.js
1 0 [ 1, 2, 3 ]
2 1 [ 1, 2, 3 ]
3 2 [ 1, 2, 3 ]

Code Runner 플러그인

플러그인 사용한다면 Window(Ctrl + Alt + N) Mac(control + option + N)으로 간단하게 실행할 수 있다.

Live Server 플러그인

클라이언트 사이드 Web API를 포함한 자바스크립트를 실행하려면 브라우저에서 실행해야 한다. 다음 플러그인을 설치하고 Go Live 버튼을 눌러 가상 서버를 띄워 확인이 가능하다.


Written by@Sunny Son
개발자는 오늘도 뚠뚠

GitHubFacebook