객체지향 자바스크립트
도서명:객체지향 자바스크립트
저자/출판사:베드,안타니,스토얀,스테파노프/에이콘출판
쪽수:688쪽
출판일:2017-10-24
ISBN:9791161750637
목차
1장. 객체지향 자바스크립트
__간단한 역사
____브라우저 전쟁과 르네상스
____현재
____미래
__ECMAScript 5
____ES6의 엄격 모드
__ECMAScript 6
____브라우저의 ES6 지원
____바벨
__객체지향 프로그래밍
____객체
____클래스
____캡슐화
____집합
____상속
____다형성
__OOP 요약
__연습 환경 설정
____웹킷의 웹 인스펙터
____맥의 JavaScriptCore
____기타 콘솔
__요약
2장. 원시 데이터 형식, 배열, 루프 및 조건
__변수
____변수는 대소문자를 구분한다
__연산자
__원시 데이터 유형
____값 형식 찾기 - typeof 연산자
____숫자
____문자열
____부울
____Undefined와 null
____심볼
__원시 데이터 유형 요약
__배열
____배열 요소 추가 / 업데이트
____요소 삭제
____배열의 배열
__조건과 루프
____코드 블록
____루프
__주석
__연습문제
__요약
3장. 함수
__함수란 무엇인가?
____함수 호출
____매개변수
__디폴트 매개변수
__나머지 매개변수
__스프레드 연산자
____사전 정의된 함수
__변수 범위
____변수 호이스팅
__블록 범위
__함수는 데이터다
____익명 함수
____콜백 함수
____즉시실행 함수
____내부(비공개) 함수
____함수를 반환하는 함수
____사용자정의 함수
__클로저
____범위 체인
____클로저로 체인 끊기
____루프의 클로저
____게터와 세터
____이터레이터
__IIFE 대 블록
__화살표 함수
__연습문제
__요약
4장. 객체
__배열에서 객체로
____요소, 속성, 메소드 및 멤버
____해시와 연관 배열
____객체의 속성 접근
____객체의 메소드 호출
____속성/메소드 변경
____this 값 사용
____생성자 함수
____전역 객체
____생성자 속성
____instanceof 연산자
____객체를 반환하는 함수
____객체 전달
____객체 비교
____웹킷 콘솔의 객체
____ES6 객체 리터럴
__객체 속성과 어트리뷰트
__ES6 객체 메소드
__디스트럭처링
__내장 객체
____객체
____배열
__ES6 배열 메소드
____Array.from
____Array.of를 사용하여 배열 만들기
____Array.prototype 메소드
____함수
__화살표 함수에서의 어휘적 this
____객체 유형 추정
____부울
____숫자
____문자열
____Math
____Date
____RegExp
__연습문제
__요약
5장. ES6 이터레이터와 제너레이터
__For...of 루프
__이터레이터와 이터러블
____이터레이터
____이터러블
__제너레이터
____제너레이터 반복
__컬렉션
____맵
____세트
____WeakMap과 WeakSet
__요약
6장. 프로토타입
__프로토타입 속성
____프로토타입을 사용하여 메소드와 속성 추가하기
__프로토타입의 메소드와 속성 사용하기
____자체 속성 대 프로토타입 속성
____프로토타입 속성을 자체 속성으로 덮어쓰기
____isPrototypeOf( ) 메소드 사용하기
____secret _ _proto_ _ link
__내장 객체 보강
____내장 객체 보강 - 토론
____프로토타입 따라잡기
__연습문제
__요약
7장. 상속
__프로토타입 체인
____프로트타입 체인 예제
____공유 속성을 프로토타입으로 이동
__프로토타입만 상속
____임시 생성자 - new F( )
__Uber - 자식 객체에서 부모 접근하기
__상속 부분을 함수로 분리하기
__속성 복사
__참조로 복사할 때 문제
__객체에서 상속받은 객체
__깊은 복사
__object( ) 메소드 사용하기
__프로토타입 상속과 속성 복사의 혼합 사용
__다중 상속
____믹스인
__기생 상속
__생성자 빌리기
____생성자 빌리기와 프로토타입 복사하기
__사례 연구 - 도형 그리기
____분석
____구현
____테스트
__연습문제
__요약
8장. 클래스와 모듈
__클래스 정의
____생성자
____프로토타입 메소드
____정적 메소드
____정적 속성
____제너레이터 메소드
__서브클래싱
____믹스인
__모듈
____목록 내보내기
__요약
9장. 프라미스와 프록시
____비동기 프로그래밍 모델
__자바스크립트 호출 스택
____메시지 큐
____이벤트 루프
____타이머
__프라미스
____프라미스 생성
____메타 프로그래밍과 프록시
____프록시
____함수 가로채기
__요약
10장. 브라우저 환경
__HTML 페이지에 자바스크립트 포함하기
__BOM과 DOM 개요
__BOM
____window 객체 리뷰
____window.navigator 속성 사용하기
____콘솔은 치트 시트다
____window.location 속성 사용하기
____window.history 속성 사용하기
____window.frames 속성 사용하기
____window.screen 속성 사용하기
____window.open( )/close( ) 메소드
____window.moveTo( )와 window.resizeTo( ) 메소드
____window.alert( )와 window.prompt( ), window.confirm( ) 메소드
____window.setTimeout( )과 window.setInterval( ) 메소드 사용하기
____window.document 속성
__DOM
____코어 DOM과 HTML DOM
____DOM 노드 접근
____document 노드
____DOM 노드 수정
____새 노드 생성하기
____insertBefore( ) 메소드 사용하기
____노드 제거
____HTML - 전용 DOM 객체
__이벤트
____인라인 HTML 속성
____엘리먼트 속성
____DOM 이벤트 리스너
____캡처와 버블링
____전파 중단
____디폴트 동작 방지
____크로스 브라우저 이벤트 리스너
____이벤트 유형
__XMLHttpRequest
____요청 보내기
____응답 처리
____버전 7 이전의 IE에서 XMLHttpRequest 객체 만들기
____비동기의 A
____XML의 X
____예제
__연습문제
__요약
11장. 코딩과 디자인 패턴
__코딩 패턴
____동작 분리
____네임스페이스
____네임스페이스 생성자
____초기화 시간 분기
____지연 정의
____구성 객체
____비공개 속성과 메소드
____권한 있는 메소드
____공개 메소드로서의 비공개 함수
____즉시 실행 함수
____모듈
____체이닝
____JSON
____고차원 함수
__디자인 패턴
____단일체 패턴
____단일체2 패턴
____팩토리 패턴
____장식자 패턴
____감시자 패턴
__요약
12장. 테스트와 디버깅
__단위 테스트
____테스트 주도 개발
____행동 주도 개발
____모카와 차이, 시논
__자바스크립트 디버깅
____구문 오류
____런타임 예외
__요약
13장. 리액티브 프로그래밍과 리액트
__리액티브 프로그래밍
____왜 리액티브 프로그래밍을 고려하는가?
__리액트
__가상 DOM
__리액트 설치와 실행
____구성요소와 props
____상태
____라이프 사이클 이벤트
__요약
부록 A. 예약어
__키워드
__ES6 예약어
____미래의 예약어
__이전의 예약어
부록 B. 내장 함수
부록 C. 내장 객체
__객체
____Object 생성자의 멤버
____Object.prototype 멤버
____객체에 대한 ECMAScript 5 추가사항
__객체에 대한 ES6 추가사항
____약식 속성
____계산된 속성 이름
____Object.assign
__배열
____Array.prototype 멤버
____배열에 대한 ECMAScript 5 추가사항
____배열에 대한 ES6 추가사항
__함수
Function.prototype 멤버
____Function에 대한 ECMAScript 5 추가사항
____Function에 대한 ECMAScript 6 추가사항
__Boolean
__Number
____Number 생성자의 멤버
____Number.prototype 멤버
__String
____String 생성자의 멤버
____String.prototype 멤버
____String에 대한 ECMAScript 5 추가사항
____String에 대한 ECMAScript 6 추가사항
__Date
____Date 생성자의 멤버
____Date.prototype 멤버
____Date에 대한 ECMAScript 5 추가사항
__Math
____Math 객체의 멤버
__RegExp
____RegExp.prototype 멤버
__Error 객체
____Error.prototype 멤버
__JSON
____JSON 객체의 멤버
부록 D. 정규 표현식
부록 E. 연습문제 해답
__2장. 원시 데이터 형식, 배열, 루프 및 조건
____연습문제
__3장. 함수
__4장. 객체
____연습문제
__5장. ES6 이터레이터와 제너레이터
____연습문제
__6장. 프로토타입
____연습문제
__7장. 상속
____연습문제