INDEX
- CONTENTS
- CHAPTER 1 첫 번째 애플리케이션
- CHAPTER 2 자바스크립트 개발 도구
- CHAPTER 3 리터럴과 변수, 상수, 데이터 타입
- CHAPTER 4 제어문
- CHAPTER 5 표현식과 연산자
- CHAPTER 6 함수
- CHAPTER 7 스코프
- CHAPTER 8 배열과 배열 처리
- CHAPTER 9 객체와 객체지향 프로그래밍
- CHAPTER 10 맵과 셋
- CHAPTER 11 예외와 에러 처리
- CHAPTER 12 이터레이터와 제너레이터
- CHAPTER 13 함수와 추상적 사고
- CHAPTER 14 비동기적 프로그래밍
- CHAPTER 15 날짜와 시간
- CHAPTER 16 Math
- CHAPTER 17 정규표현식
- CHAPTER 18 브라우저의 자바스크립트
- CHAPTER 19 제이쿼리
- CHAPTER 20 노드
- CHAPTER 21 객체 프로퍼티 설정과 프락시
- CHAPTER 22 추가 자원
- APPENDIX ***
CONTENTS
- 지은이, 옮긴이 소개
- 옮긴이의 말
- 추천의 글
- 이 책에 대하여
- 감사의 글
CHAPTER 1 첫 번째 애플리케이션
- 1.1 시작은 브라우저에서
- 1.2 사용할 프로그램
- 1.3 주석에 관해
- 1.4 시작하기
- 1.5 자바스크립트 콘솔
- 1.6 제이쿼리
- 1.7 단순한 그래픽 그리기
- 1.8 반복적인 작업 자동화하기
- 1.9 사용자 입력 처리하기
- 1.10 Hello. World
CHAPTER 2 자바스크립트 개발 도구
- 2.1 ES6 사용하기
- 2.2 ES6 기능
- 2.2.1 깃 설치
- 2.2.2 터미널
- 2.2.3 프로젝트 루트
- 2.2.4 깃과 버전 컨트롤
- 2.2.5 npm 패키지 관리
- 2.2.6 빌드도구 : 걸프와 그런트
- 2.2.7 프로젝트 구조
- 2.3 트랜스컴파일러
- 2.3.1 바벨을 걸프와 함께 사용하기
- 2.4 린트
- 2.5 요약
CHAPTER 3 리터럴과 변수, 상수, 데이터 타입
- 3.1 변수와 상수
- 3.2 변수와 상수 중 어떤 것을 써야 할까요?
- 3.3 식별자 이름
- 3.4 리터럴
- 3.5 원시 타입과 객체
- 3.6 숫자
- 3.7 문자열
- 3.7.1 이스케이프
- 3.8 특수문자
- 3.8.1 템플릿 문자열
- 3.8.2 여러 줄 문자열
- 3.8.3 숫자와 문자열
- 3.9 불리언
- 3.10 심볼
- 3.11 null과 undefined
- 3.12 객체
- 3.13 Number, String, Boolean 객체
- 3.14 배열
- 3.15 객체와 배열의 마지막 쉼표
- 3.16 날짜
- 3.17 정규표현식
- 3.18 맵과 셋
- 3.19 데이터 타입 변환
- 3.19.1 숫자로 바꾸기
- 3.19.2 문자열로 변환
- 3.19.3 불리언으로 변환
- 3.20.요약
CHAPTER 4 제어문
- 4.1 제어문의 기초
- 4.1.1 while 루프
- 4.1.2 블록 문
- 4.1.3 공백
- 4.1.4 보조 함수
- 4.1.5 if…else 문
- 4.1.6 do…while 루프
- 4.1.7 for 루프
- 4.1.8 if 문
- 4.1.9 하나로 합치기
- 4.2 자바스크립트의 제어문
- 4.2.1 제어문의 예외
- 4.2.2 if…else 문을 체인으로 연결하기
- 4.2.3 메타 문법
- 4.2.4 for루프의 다른 패턴
- 4.2.5 switch 문
- 4.2.6 for…in 루프
- 4.2.7 for…of 루프
- 4.3 유용한 제어문 패턴
- 4.3.1 continue 문을 사용하여 조건 중첩 줄이기
- 4.3.2 break나 return 문을 써서 불필요한 연산 줄이기
- 4.3.3 루프를 완료한 뒤 인덱스 값 사용하기
- 4.3.4 배열을 수정할 때 감소하는 인덱스 사용하기
- 요약
CHAPTER 5 표현식과 연산자
- 5.1 연산자
- 5.2 산술 연산자
- 5.3 연산자 우선순위
- 5.4 비교 연산자
- 5.5 숫자 비교
- 5.6 문자열 병합
- 5.7 논리 연산자
- 5.7.1 참 같은 값과 거짓 같은 값
- 5.8 AND, OR, NOT
- 5.8.1 단축 평가
- 5.8.2 피연산자가 불리언이 아닐 때 논리 연산자가 동작하는 법
- 5.8.3 조건 연산자
- 5.8.4 쉼표 연산자
- 5.9 연산자 그룹
- 5.9.1 비트 연산자
- 5.9.2 typeof 연산자
- 5.9.3 void 연산자
- 5.9.4 할당 연산자
- 5.10 해체 할당
- 5.11 객체와 배열 연산자
- 5.12 템플릿 문자열과 표현식
- 5.13 표현식과 흐름 제어 패턴
- 5.13.1 if…else 문을 3항 연산자로 바꾸기
- 5.13.2 if문을 단축 평가하는 OR 표현식으로 바꾸기
- 요약
CHAPTER 6 함수
- 6.1 반환 값
- 6.2 호출과 참조
- 6.3 함수와 매개변수
- 6.3.1 매개변수가 함수를 결정하는가?
- 6.3.2 매개변수 해체
- 6.3.3 매개변수 기본값
- 6.4 객체의 프로퍼티인 함수
- 6.5 this 키워드
- 6.6 함수 표현식과 익명 함수
- 6.7 화살표 표기법
- 6.8 call과 apply, bind
- 6.9 요약
CHAPTER 7 스코프
- 7.1 스코프와 존재
- 7.2 정적 스포크와 동적 스코프
- 7.3 전역 스코프
- 7.4 블록 스코프
- 7.5 변수 숨기기
- 7.6 함수, 클로저, 정적 스코프
- 7.7 즉시 호출하는 함수 표현식
- 7.8 함수 스코프와 호이스팅
- 7.9 함수 호이스팅
- 7.10 사각지대
- 7.11 스트릭트 모드
- 7.12 요약
CHAPTER 8 배열과 배열 처리
- 8.1 배열의 기초
- 8.2 배열 요소 조작
- 8.2.1 배열의 처음이나 끝에서 요소 하나를 추가하거나 제거하기
- 8.2.2 배열의 끝에 여러 요소 추가하기
- 8.2.3 배열 일부 가져오기
- 8.2.4 임의의 위치에 요소 추가하거나 제거하기
- 8.2.5 배열 안에서 요소 교체하기
- 8.2.6 특정 값으로 배열 채우기
- 8.2.7 배열 정렬과 역순 정렬
- 8.3 배열 검색
- 8.4 map과 filter
- 8.5 배열의 마법 reduce
- 8.6 삭제되거나 정의되지 않은 요소들
- 8.7 문자열 병합
- 8.8 요약
CHAPTER 9 객체와 객체지향 프로그래밍
CHAPTER 10 맵과 셋
CHAPTER 11 예외와 에러 처리
- PREVIEW
- 11.1 Error 객체
- 11.2 try/catch와 예외 처리
- 11.3 에러 일으키기
- 11.4 예외 처리와 호출 스택
- 11.5 try…catch…finally
- 11.6 요약
CHAPTER 12 이터레이터와 제너레이터
CHAPTER 13 함수와 추상적 사고
- PREVIEW
- 13.1 서브루틴으로서의 함수
- 13.2 값을 반환하는 서브루틴으로서의 함수
- 13.3 함수로서의 함수
- 13.4 그래서?
- 13.5 IIFE와 비동기적 코드
- 13.6 변수로서의 함수
- 13.7 재귀
- 13.8 요약
CHAPTER 14 비동기적 프로그래밍
CHAPTER 15 날짜와 시간
- PREVIEW
- 15.1 날짜, 타임존, 타임스탬프, 유닉스 시간
- 15.2 Date 객체 만들기
- 15.3 Moment.js
- 15.4 현실적인 자바스크립트 날짜 접근법
- 15.5 날짜 데이터 만들기
- 15.6 날짜 데이터 전송하기
- 15.7 날짜 형식
- 15.8 날짜 구성 요소
- 15.9 날짜 비교
- 15.10 날짜 연산
- 15.11 사용자가 알기 쉬운 상대적 날짜
- 15.12 요약
CHAPTER 16 Math
CHAPTER 17 정규표현식
- PREVIEW
- 17.1 부분 문자열 검색과 대체
- 17.2 정규식 만들기
- 17.3 정규식 검색
- 17.4 정규식을 사용한 문자열 교체
- 17.5 입력 소비
- 17.6 대체
- 17.7 HTML 찾기
- 17.8 문자셋
- 17.9 자주 쓰는 문자셋
- 17.10 반복
- 17.11 마침표와 이스케이프
- 17.12 그룹
- 17.13 소극적 일치, 적극적 일치
- 17.14 역참조
- 17.15 그룹 교체
- 17.16 함수를 이용한 교체
- 17.17 위치 지정
- 17.18 단어 경계 일치
- 17.19 룩어헤드
- 17.20 동적으로 정규식 만들기
- 17.21 요약
CHAPTER 18 브라우저의 자바스크립트
- 18.1 ES5와 ES6
- 18.2 문서 객체 모델
- 18.3 용어 사용
- 18.4 get 메서드
- 18.5 DOM 요소 쿼리
- 18.6 DOM 요소 조작
- 18.7 새 DOM 요소 만들기
- 18.8 요소 스타일링
- 18.9 데이터 속성
- 18.10 이벤트
- 18.10.1 이벤트 버블링과 캡처링
- 18.10.2 이벤트 카테고리
- 18.11 Ajax
- 18.12 요약
CHAPTER 19 제이쿼리
- 19.1 맥가이버 나이프, 달러 기호
- 19.2 제이쿼리 불러오기
- 19.3 DOM 기다리기
- 19.4 제이쿼리로 감싼 DOM 요소
- 19.5 요소 조작
- 19.6 제이쿼리 취소
- 19.7 Ajax
- 19.8 요약
CHAPTER 20 노드
- 20.1 노드의 기초
- 20.2 모듈
- 20.3 코어 모듈, 파일 모듈, npm 모듈
- 20.4 함수 모듈을 통한 모듈 커스터마이징
- 20.5 파일시스템 접근
- 20.6 process
- 20.7 운영체제
- 20.8 자식 프로세스
- 20.9 스트림
- 20.10 웹 서버
- 20.11 요약
CHAPTER 21 객체 프로퍼티 설정과 프락시
- 21.1 접근자 프로퍼티 getter와 setter
- 21.2 객체 프로퍼티 속성
- 21.3 객체 보호 : 동결, 봉인, 확장 금지
- 21.4 프락시
- 21.5 요약
CHAPTER 22 추가 자원
- 22.1 온라인 문서
- 22.2 주기적 발행물
- 22.3 블로그와 가이드
- 22.4 스택 오버플로
- 22.5 오픈 소스 프로젝트에 참여하기
- 22.6 요약
APPENDIX
- A 예약어
- B 연산자 우선순위