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