모던 자바스크립트 Deep Dive 2, 3장 정리 - 자바스크립트, 개발환경과 실행 방법

Hyodduru ·2022년 5월 8일
1
post-thumbnail

2. 자바스크립트란?

2.3 자바스크립트 성장의 역사

🧐 Ajax?(Asynchronos JavaScript and XML)

자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신기능 (1999년 XMLHttpRequest라는 이름으로 등장)

🧐 Node.js?

구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경(runtime environment). 자바스크립트를 브러우저 이외의 환경에서도 동작할 수 있도록 자바스크립트 엔진을 브라우저에서 독립시킨 자바스크립트 실행 환경
👉 서버 사이드 애플리케이션 개발에 주로 사용되며 이에 필요한 모듈, 파일 시스템, HTTP 등 내장 API 제공

🧐 SPA 프레임워크 등장 배경?

개발 규모와 복잡도가 상승하면서 이전의 개발 방식으로는 개발 과정 수행 어려워짐. 이러한 필요에 따라 변경에 유연하면서 확장하기 쉬운 애플리케이션 아키텍처 구축을 위해 프레임워크 등장.
CBD (Component based developement) 방법론을 기반으로 하는 SPA(Single Page Applicaition) 대중화 되었음.

2.4 자바스크립트와 ECMAScript

자바스크립트 = ECMAScript + 클라이언트 사이드 Web API

🔖 참고)

  • ECMAScript : 자바스크립트의 표준 사양인 ECMA-262. 프로그래밍 언어의 값, 타입, 객체와 프로퍼티, 함수, 표준 빌트인 객체 등 핵심 문법 규정.
  • 클라이언트 사이드 Web API : DOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, Wev Storage, Web Component, Web Worker등을 아우르는 개념

2.5 자바스크립트의 특징

👉 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
👉 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어(interpreter language)
👉 명령형(imperative), 함수형(functional), 프로토타입 기반(prototype-based), 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어
👉 프로토타입 기반의 객체지향 언어

🔖 참고) 모던 브라우저에서 사용되는 인터프리터 언어
명시적인 컴파일 단계를 거치지는 않지만 복잡한 과정을 거치며 일부 소스코드를 컴파일하고 실행함. 이를 통해 인터프리터 언어의 장점인 동적 기능 지원을 살리면서 실행 속도가 느리다는 단점을 극복함.

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

3.1 자바스크립트 실행 환경

🧐 node js와 브라우저의 차이?

✔️ 용도의 차이. 브라우저는 HTML, CSS, JS를 실행해 웹페이지를 브라우저 화면에 렌더링하는 것이 주된 목적이지만 Node.js는 브라우저 외부에서 자바스크립트 실행 환경을 제공하는 것이 주된 목적
ex) 브라우저 - DOM API 제공됨. 클라이언트 사이드 Web API 지원.
Node.js - 파일을 생성하고 수정할 수 있는 파일 시스템 기본 제공됨.

🔖 참고)

  • DOM API : 파싱된 HTML 요소를 선택하거나 조작하는 기능의 집합
  • 웹 크롤링(web crawling) : 서버에서 웹 사이트의 콘텐츠를 수집하기 위해 웹사이트에서 HTML 문서를 가져온 다음 이를 가공해서 필요한 데이터만 추출하는 것

3.3 Node.js

🧐 npm(node package manager)?

자바스크립트 패키지 매니저. Node.js에서 사용할 수 있는 모듈을 패키지화해서 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI(Command Line Interface)제공.

profile
꾸준히 성장하기🦋 https://hyodduru.tistory.com/ 로 블로그 옮겼습니다

0개의 댓글