책 모던 자바스크립트 Deep Dive 내용을 정리했습니다.
Node.js와 Browser의 용도가 다르다는 것에 주의하자.
브라우저의 주된 목적은 HTML, CSS, JS를 실행해 웹 페이지를 브라우저 화면에 렌더링 하는 것
Node.js는 브라우저 외부에서 JS 실행 환경을 제공하는 것이 주된 목적이다.
예를 들어 browser 파싱된 HTML 요소를 선택하거나 조작하는 기능의 집합인 DOM API를 기본적으로 제공
하지만 Node.js는 DOM API를 제공하지 않는다.
>> browser 외부 환경에서 HTML 요소를 파싱해서 객체화한 DOM을 직접 다룰 필요가 없기 때문이다.
또 Node.js는 File System을 기본 제공하지만 browser 이를 지원하지 않는다. (FileReader 객체 예외)
웹 크롤링이란 ?
서버에서 웹사이트의 HTML 문서를 가져온 다음, 이를 가공해서 필요한 데이터만 추출하는 것
만약 브라우저를 통해 다운로드 되어 실행되는 JS가 사용자 컴퓨터의 로컬 파일에 영향을 미친다면 이는 악성 코드에 노출되는 것과 마찬가지이다.
따라서 보안상의 이유로 Browser 환경의 JS는 File System을 제공하지 않는다.
이처럼 Browser ECMAScript, DOM, BOM, Canvas 등 Client Side Wep API를 지원한다.
Node.js는 Client Side Web API를 지원하지 않고 Node.js 고유의 API를 지원한다.
Chrome, Visual Studio Code를 사용하여 책을 학습할 예정이다.
다음 장부터 본격적으로 JavaScript를 배워보도록 하자.