러닝 자바스크립트: ES6로 제대로 입문하는 모던 자바스크립트 웹 개발

Book description

이 책은 ES6를 포함하여 최신 자바스크립트 개발을 주도하는 언어 특징과 기술, 관련 도구, 패러다임을 포괄적으로 다룬다. 변수나 제어 흐름, 함수와 같은 단순하고 직관적인 주제뿐만 아니라, 비동기 프로그래밍이나 정규표현식 같은 복잡하고 난해한 개념에 이르기까지 폭넓은 범위를 커버한다. 개발자는 프런트엔드와 백엔드 모두를 아우르는 더 강력하고 반응이 빠른 웹 앱을 만드는 방법을 배울 수 있다. 임베디드부터 웹까지 20년 넘게 프로그래밍해온 저자는 이 실용적인 책에서 ES6에 맞춰 고품질 웹 애플리케이션을 더 쉽고 만족스럽게 개발하는 방법을 제시한다.

Table of contents

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

Product information

  • Title: 러닝 자바스크립트: ES6로 제대로 입문하는 모던 자바스크립트 웹 개발
  • Author(s): 한선용, 이선 브라운
  • Release date: July 2017
  • Publisher(s): Hanbit Media, Inc.
  • ISBN: 9788968483387