JavaScript 특징과 실행 환경
2022. 4. 11. 11:33ㆍ프로그래밍
반응형
모던 자바스크립트(저자 이웅모) 내용을 참고하였습니다.
💡️ 자바스크립트 특징
- 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
- 인터프리터 언어
- 멀티 패러다임 프로그래밍 언어
- 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원한다
- 프로토타입 기반의 객체지향 언어
- 싱글 스레드 방식
- 왜? 쉽게 사용하기 위해서대신 비동기 처리를 통해 쉽게 여러 요청을 처리할 수 있다!
- 멀티 스레드의 경우 동시성 문제를 해결해야 한다
교착 상태와 같은 멀티 스레드 환경에서 발생할 수 있는 복잡한 시나리오를 신경 쓸 필요가 없다
💡️ 브라우저, Node.js 실행 환경
- 자바스크립트는 브라우저 환경 또는 Node.js환경에서 실행할 수 있지만 둘의 용도가 다르다
- 브라우저와 Node.js 모두 자바스크립트의 코어인 ECMAScript를 실행할 수는 있지만, Node.js에서 ECMAScript이외에 추가로 제공하는 기능은 호환되지 않는다
브라우저
- HTML, CSS, JS를 실행해 웹페이지를 브라우저 화면에 렌더링하는 것이 주 목적
- ECMAScript + 클라이언트 사이드 Web API 지원
- DOM API 제공 O ⇒ 브라우저는 HTML요소를 파싱해서 객체화한 DOM API를 기본적으로 제공한다
- 파일 시스템 제공 X ⇒ 브라우저를 통해 실행되는 자바스크립트가 사용자 컴퓨터의 로컬파일을 건들이면 안되기 때문에 보안상의 이유로 파일 시스템을 제공하지 않는다
Node.js
- 브라우저 외부에서 자바스크립트 실행환경을 제공하는 것이 주 목적
- ECMAScript + Node.js 고유 API 지원
- DOM API 제공 X ⇒ Node.js에서는 DOM을 직접 다룰 필요가 없기 때문에 제공하지 않는다
- 파일 시스템 제공 O ⇒ 파일을 생성하고 수정할 수 있는 파일 시스템을 기본 제공한다
반응형
'프로그래밍' 카테고리의 다른 글
JavaScript var, const, let 키워드 (0) | 2022.04.11 |
---|---|
JavaScript 비동기 프로그래밍 (0) | 2022.04.11 |
API 버전 관리 (0) | 2022.02.07 |
JavaScript forEach와 map의 차이 (0) | 2022.02.01 |
Hash Tables (0) | 2022.01.06 |