[JavaScript] JavaScript 실행 환경

Sanghyeok·2021년 5월 25일
0

JavaScript

목록 보기
2/6
post-thumbnail

21.05.25


책 모던 자바스크립트 Deep Dive 내용을 정리했습니다.


Node.js와 Browser의 용도가 다르다는 것에 주의하자.

  • 모든 브라우저는 자바스크립트를 해석하고 실행할 수 있는 JS 엔진을 내장하고 있다. 이는 Node.js도 마찬가지이다.
  • 브라우저의 주된 목적은 HTML, CSS, JS를 실행해 웹 페이지를 브라우저 화면에 렌더링 하는 것

  • Node.js는 브라우저 외부에서 JS 실행 환경을 제공하는 것이 주된 목적이다.


Browser Node.js 모두 ECMAScript 실행 가능

  • 하지만 추가로 제공되는 기능은 호환되지 않는다.
	예를 들어 browser 파싱된 HTML 요소를 선택하거나 조작하는 기능의 집합인 DOM API를 기본적으로 제공
    
    	하지만 Node.js는 DOM API를 제공하지 않는다.
        >> browser 외부 환경에서 HTML 요소를 파싱해서 객체화한 DOM을 직접 다룰 필요가 없기 때문이다.
        
        또 Node.js는 File System을 기본 제공하지만 browser 이를 지원하지 않는다. (FileReader 객체 예외)
        
      

웹 크롤링이란 ?
서버에서 웹사이트의 HTML 문서를 가져온 다음, 이를 가공해서 필요한 데이터만 추출하는 것


Web App에서의 JS는 사용자 컴퓨터의 browser에서 동작한다.

  • 만약 브라우저를 통해 다운로드 되어 실행되는 JS가 사용자 컴퓨터의 로컬 파일에 영향을 미친다면 이는 악성 코드에 노출되는 것과 마찬가지이다.

  • 따라서 보안상의 이유로 Browser 환경의 JS는 File System을 제공하지 않는다.

  • 이처럼 Browser ECMAScript, DOM, BOM, Canvas 등 Client Side Wep API를 지원한다.

  • Node.js는 Client Side Web API를 지원하지 않고 Node.js 고유의 API를 지원한다.


Ready To Start

Chrome, Visual Studio Code를 사용하여 책을 학습할 예정이다.
다음 장부터 본격적으로 JavaScript를 배워보도록 하자.

0개의 댓글