[모던 자바스크립트 Deep Dive]48장 모듈
48.1 모듈의 일반적 의미 모듈 애플리케이션을 구성하는 개별적 요소 재사용할 수 있는 코드 조각 일반적으로 기능을 기준으로 파일 단위로 분리 자신만의 파일 스코프(모듈 스포크)를 가질 수 있을 때 모듈 성립 모듈은 개별적인 존재로서 애플리케이션과 분리되어 존재 ...
48.1 모듈의 일반적 의미 모듈 애플리케이션을 구성하는 개별적 요소 재사용할 수 있는 코드 조각 일반적으로 기능을 기준으로 파일 단위로 분리 자신만의 파일 스코프(모듈 스포크)를 가질 수 있을 때 모듈 성립 모듈은 개별적인 존재로서 애플리케이션과 분리되어 존재 ...
47.1 에러 처리의 필요성 에러에 대해 대처하지 않는 경우 ⇒ 프로그램 강제 종료 console.log('[Start]'); // [Start] foo(); // ReferenceError: foo is not defined // 발생한 에러를 방치하면 프로그램은 강제 종료된다. // 에러에 ...
46.1 제너레이터란? ES6에서 도입 코드 블록의 실행을 일시 중지했다가 필요한 시점에 재개할 수 있는 특수한 함수 일반 함수와의 차이점 제너레이터 함수는 함수 호출자에게 함수 실행 제어권 양도 가능 일반 함수: 호출 시 제어권은 함수로 넘어간 뒤 함수 코드를 일괄 실행 ⇒ 함수 ...
45.1 비동기 처리를 위한 콜백 패턴의 단점 45.1.1 콜백 헬 비동기 함수: 함수 내부에 비동기로 동작하는 코드를 포함한 함수 호출 시 비동기로 동작하는 코드가 완료되지 않아도 기다리지 않고 종료 비동기로 동작하는 코드의 처리 결과를 이용하기 어려움 let g = 0; //...
REST(REpresentational State Transfer) HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처 HTTP의 장점을 최대한 활용할 수 있는 아키텍처로서 소개되었다. HTTP 프로토콜을 의도에 맞게 디자인하도록 유도한다. ...
43.1 Ajax란? Asynchronous JavaScript and XML 자바스크립트를 사용해 브라우저가 서버에 비동기 방식으로 데이터를 요청, 서버가 응답한 데이터를 수신하여 웹페이지를 동적으로 갱신하는 프로그래밍 방식 브라우저 Web API인 XMLHttpRequest 객체를 기반으로 동작 XMLHttpReq...
42.1 동기 처리와 비동기 처리 함수 실행 과정 함수를 호출 함수 코드가 평가되어 함수 실행 컨텍스트 생성 생성된 함수 실행 컨텍스트를 실행 컨텍스트 스택(콜 스택)에 푸시 함수 실행의 시작을 의미 함수의 실행 순서는 실행 컨텍스트 스택으로 관리 ...
41.1 호출 스케줄링 호출 스케줄링(scheduling a call): 일정 시간이 지난 뒤 함수가 호출되도록 예약하는 것 함수 호출을 예약하기 위해 타이머 함수 사용 타이머 함수 ECMAScript 사양에 정의된 빌트인 함수가 아니다. 브라우저 환경과 Node.js 환경에서...
40.1 이벤트 드리븐 프로그래밍 이벤트 핸들러: 이벤트가 발생했을 때 호출될함수 이벤트 핸들러 등록: 이벤트가 발생했을 때 브라우저에 이벤트 핸들러 호출을 위임하는 것 사용자가 언제 이벤트를 발생시킬지 모르기 때문에 이를 감지할 수 있는 브라우저에 위임 이벤트 드리븐 프로그래밍: 이벤트를 중심으로 프로...
HTML 문서의 계층적 구조와 정보를 표현하며 이를 제어할 수 있는 API, 즉 프로퍼티와 메서드를 제공하는 트리 자료구조 39.1 노드 39.1.1 HTML 요소와 노드 객체 HTML 요소(HTML element) HTML 문서를 구성하는 개별적인 요소 노드 객체 HTML 요...