책소개
예제와 퀴즈로 만나는 ES6 이후 모던 자바스크립트의 새로운 세계 ES6 기준으로 자바스크립트 문법을 훑은 다음 ES2016부터 ES2021까지 새로 추가된 기능을 살펴본다. 브라우저에서 바로 돌려볼 수 있는 간결한 예제와 함께, 실무 관점에서 핵심을 짚어 알기 쉽게 설명한다. 내용을 복습할 수 있게 장마다 3~4개씩 퀴즈를 마련했고, 모던 웹 개발을 위한 타입스크립트 기초도 수록했다. 모두를 편리하게 할 모던 자바스크립트의 세계를 만나보자.
목차
CHAPTER 00 자바스크립트 기초__0.1 변수__0.2 자료형__0.3 함수__0.4 함수 스코프와 this 키워드의 이해QuizCHAPTER 01 var, let, const__1.1 var, let, const의 차이__1.2 TDZ__1.3 var, let, const를 적재적소에 쓰는 법QuizCHAPTER 02 화살표 함수__2.1 화살표 함수__2.2 암시적 반환__2.3 화살표 함수는 익명 함수__2.4 화살표 함수와 this 키워드__2.5 화살표 함수를 피해야 하는 경우QuizCHAPTER 03 함수 기본값 인수__3.1 함수 인수의 기본값(ES6 이전)__3.2 함수 기본값 인수QuizCHAPTER 04 템플릿 리터럴__4.1 문자열 삽입__4.2 표현식 삽입__4.3 여러 줄 문자열 생성__4.4 중첩 템플릿__4.5 삼항 연산자 추가하기__4.6 템플릿 리터럴에 함수 전달하기__4.7 태그된 템플릿 리터럴QuizCHAPTER 05 문자열 메서드__5.1 기본적인 문자열 메서드__5.2 새로운 문자열 메서드QuizCHAPTER 06 디스트럭처링__6.1 객체 디스트럭처링__6.2 배열 디스트럭처링__6.3 디스트럭처링을 이용하여 변수 교체하기QuizCHAPTER 07 루프__7.1 for of 루프__7.2 for in 루프__7.3 for of와 for in의 차이QuizCHAPTER 08 배열 메서드__8.1 Array.from()__8.2 Array.of()__8.3 Array.find()__8.4 Array.findIndex()__8.5 Array.some()과 Array.every()QuizCHAPTER 09 스프레드 연산자와 레스트 매개변수__9.1 스프레드 연산자__9.2 레스트 매개변수QuizCHAPTER 10 객체 리터럴의 업그레이드__10.1 변수를 키와 값으로 하는 객체 만들기__10.2 객체에 함수 추가하기__10.3 객체의 속성을 동적으로 정의하기QuizCHAPTER 11 심벌__11.1 심벌의 고유성__11.2 객체 속성에 대한 식별자QuizCHAPTER 12 클래스__12.1 클래스 생성__12.2 정적 메서드__12.3 set와 get__12.4 클래스 상속하기__12.5 배열 확장하기QuizCHAPTER 13 프로미스__13.1 콜백 지옥__13.2 프로미스__13.3 프로미스 체이닝__13.4 Promise.resolve()와 Promise.reject()__13.5 Promise.all()과 Promise.race()QuizCHAPTER 14 제너레이터__14.1 제너레이터__14.2 제너레이터를 사용하여 배열 반복하기__14.3 .return()을 사용하여 제너레이터 종료하기__14.4 .throw()로 오류 잡기__14.5 제너레이터와 프로미스를 같이 사용하기QuizCHAPTER 15 프록시__15.1 프록시__15.2 프록시 생성__15.3 프록시 활용QuizCHAPTER 16 세트, 위크셋, 맵, 위크맵__16.1 세트__16.2 위크셋__16.3 맵__16.4 위크맵QuizCHAPTER 17 ES2016의 새로운 기능__17.1 Array.prototype.includes()__17.2 지수 연산자QuizCHAPTER 18 ES2017: 문자열 패딩, Object.entries( ), Object.values( ) 등__18.1 문자열 패딩__18.2 Object.entries()와 Object.values()__18.3 Object.getOwnPropertyDescriptors()__18.4 후행 쉼표__18.5 어토믹스QuizCHAPTER 19 ES2017: async와 await__19.1 프로미스 다시 보기__19.2 async/await__19.3 오류 처리QuizCHAPTER 20 ES2018의 새로운 기능__20.1 객체에 레스트/스프레드 연산자 사용하기__20.2 비동기 반복__20.3 Promise.prototype.finally()__20.4 정규식 기능 추가__20.5 템플릿 리터럴 제한 해제QuizCHAPTER 21 ES2019의 새로운 기능__21.1 Array.prototype.flat()과 Array.prototype.flatMap()__21.2 Object.fromEntries()__21.3 String.prototype.trimStart()와 String.prototype.trimEnd()__21.4 선택적 catch 할당__21.5 Function.prototype.toString()__21.6 Symbol.prototype.descriptionQuizCHAPTER 22 ES2020의 새로운 기능__22.1 BigInt__22.2 동적으로 가져오기__22.3 옵셔널 체이닝__22.4 Promise.allSettled()__22.5 null 계열의 값을 병합하기__22.6 String.prototype.matchAll()__22.7 모듈 네임스페이스 export 문법__22.8 import.meta__22.9 globalThisQuizCHAPTER 23 타입스크립트 기초__23.1 타입스크립트란?__23.2 타입스크립트 사용 방법__23.3 타입스크립트 기본 자료형__23.4 인터페이스와 클래스__23.5 유니언 자료형과 인터섹션 자료형마치며Quiz감사의 말퀴즈 정답과 해설한국어판 부록: ES2021