본문 바로가기
책/IT

[나는 리뷰어다] 모던 자바스크립트 핵심 가이드

by 커피코더 2021. 6. 10.
반응형

1. 책 소개

예제와 퀴즈로 만나는 ES6 이후 모던 자바스크립트의 새로운 세계

ES6 기준으로 자바스크립트 문법을 훑은 다음 ES2016부터 ES2021까지 새로 추가된 기능을 살펴본다. 브라우저에서 바로 돌려볼 수 있는 간결한 예제와 함께, 실무 관점에서 핵심을 짚어 알기 쉽게 설명한다. 내용을 복습할 수 있게 장마다 3~4개씩 퀴즈를 마련했고, 모던 웹 개발을 위한 타입스크립트 기초도 수록했다. 모두를 편리하게 할 모던 자바스크립트의 세계를 만나보자.

 

 

2. 저자 소개

알베르토 몬탈레시
이탈리아 출신의 소프트웨어 개발자. 현재 베트남에서 앵귤러+타입스크립트+Node.JS로 기업용 SaaS를 만든다. 법학을 전공했지만 뒤늦게 프로그래밍에 관심을 가지고 독학으로 소프트웨어 개발자가 되었다. 개발자 지망생을 돕는 일에 큰 자부심을 가지고 블로그(https://inspiredwebdev.com) 글을 쓰고 있다.

임지순
낮에는 계약서와 코드를 두드리고 밤에는 기타를 난도질하는 공학과 미디어의 주변인. 임베디드 프로그래머, 미들웨어 개발자, 프로젝트 매니저, 사업개발 등 다양한 직군에 종사했으며 최근에는 엔터테인먼트 산업에서 다양한 웹 프로젝트를 진행 중이다. 사회적인 덕후로 생존하기 위해 오늘도 코드, 그리고 글과 씨름하고 있다. 번역한 책으로 『자바스크립트는 모든 곳에 존재한다』(한빛미디어, 2021), 『초소형 머신러닝 TinyML』(한빛미디어, 2020, 공역), 『라즈베리 파이로 배우는 컴퓨터 아키텍처』(위키북스, 2017) 등이 있다.

권영재
풀스택 서비스 개발자. 작은 스타트업들과 라인 등의 회사를 거치며 다양한 경험을 쌓았고, 현재는 스퀘어랩에서 항공/호텔 예약 서비스를 개발한다. 다양한 서비스를 개발하면서 웹, 백엔드, CLI 자동화 툴 등 분야를 가리지 않고 자바스크립트를 실무에 사용해왔다. 2020년 1월에 개인 프로젝트로 서비스를 시작한 코로나19 실시간 상황판(
https://coronaboard.kr) 또한 전부 자바스크립트로 개발했다.

 

 

 

3. 목 차

더보기

CHAPTER 00 자바스크립트 기초

__0.1 변수

__0.2 자료형

__0.3 함수

__0.4 함수 스코프와 this 키워드의 이해

Quiz

 

CHAPTER 01 var, let, const

__1.1 var, let, const의 차이

__1.2 TDZ

__1.3 var, let, const를 적재적소에 쓰는 법

Quiz

 

CHAPTER 02 화살표 함수

__2.1 화살표 함수

__2.2 암시적 반환

__2.3 화살표 함수는 익명 함수

__2.4 화살표 함수와 this 키워드

__2.5 화살표 함수를 피해야 하는 경우

Quiz

 

CHAPTER 03 함수 기본값 인수

__3.1 함수 인수의 기본값(ES6 이전)

__3.2 함수 기본값 인수

Quiz

 

CHAPTER 04 템플릿 리터럴

__4.1 문자열 삽입

__4.2 표현식 삽입

__4.3 여러 줄 문자열 생성

__4.4 중첩 템플릿

__4.5 삼항 연산자 추가하기

__4.6 템플릿 리터럴에 함수 전달하기

__4.7 태그된 템플릿 리터럴

Quiz

 

CHAPTER 05 문자열 메서드

__5.1 기본적인 문자열 메서드

__5.2 새로운 문자열 메서드

Quiz

 

CHAPTER 06 디스트럭처링

__6.1 객체 디스트럭처링

__6.2 배열 디스트럭처링

__6.3 디스트럭처링을 이용하여 변수 교체하기

Quiz

 

CHAPTER 07 루프

__7.1 for of 루프

__7.2 for in 루프

__7.3 for of와 for in의 차이

Quiz

 

CHAPTER 08 배열 메서드

__8.1 Array.from()

__8.2 Array.of()

__8.3 Array.find()

__8.4 Array.findIndex()

__8.5 Array.some()과 Array.every()

Quiz

 

CHAPTER 09 스프레드 연산자와 레스트 매개변수

__9.1 스프레드 연산자

__9.2 레스트 매개변수

Quiz

 

CHAPTER 10 객체 리터럴의 업그레이드

__10.1 변수를 키와 값으로 하는 객체 만들기

__10.2 객체에 함수 추가하기

__10.3 객체의 속성을 동적으로 정의하기

Quiz

 

CHAPTER 11 심벌

__11.1 심벌의 고유성

__11.2 객체 속성에 대한 식별자

Quiz

 

CHAPTER 12 클래스

__12.1 클래스 생성

__12.2 정적 메서드

__12.3 set와 get

__12.4 클래스 상속하기

__12.5 배열 확장하기

Quiz

 

CHAPTER 13 프로미스

__13.1 콜백 지옥

__13.2 프로미스

__13.3 프로미스 체이닝

__13.4 Promise.resolve()와 Promise.reject()

__13.5 Promise.all()과 Promise.race()

Quiz

 

CHAPTER 14 제너레이터

__14.1 제너레이터

__14.2 제너레이터를 사용하여 배열 반복하기

__14.3 .return()을 사용하여 제너레이터 종료하기

__14.4 .throw()로 오류 잡기

__14.5 제너레이터와 프로미스를 같이 사용하기

Quiz

 

CHAPTER 15 프록시

__15.1 프록시

__15.2 프록시 생성

__15.3 프록시 활용

Quiz

 

CHAPTER 16 세트, 위크셋, 맵, 위크맵

__16.1 세트

__16.2 위크셋

__16.3 맵

__16.4 위크맵

Quiz

 

CHAPTER 17 ES2016의 새로운 기능

__17.1 Array.prototype.includes()

__17.2 지수 연산자

Quiz

 

CHAPTER 18 ES2017: 문자열 패딩, Object.entries( ), Object.values( ) 등

__18.1 문자열 패딩

__18.2 Object.entries()와 Object.values()

__18.3 Object.getOwnPropertyDescriptors()

__18.4 후행 쉼표

__18.5 어토믹스

Quiz

 

CHAPTER 19 ES2017: async와 await

__19.1 프로미스 다시 보기

__19.2 async/await

__19.3 오류 처리

Quiz

 

CHAPTER 20 ES2018의 새로운 기능

__20.1 객체에 레스트/스프레드 연산자 사용하기

__20.2 비동기 반복

__20.3 Promise.prototype.finally()

__20.4 정규식 기능 추가

__20.5 템플릿 리터럴 제한 해제

Quiz

 

CHAPTER 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.description

Quiz

 

CHAPTER 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 globalThis

Quiz

 

CHAPTER 23 타입스크립트 기초

__23.1 타입스크립트란?

__23.2 타입스크립트 사용 방법

__23.3 타입스크립트 기본 자료형

__23.4 인터페이스와 클래스

__23.5 유니언 자료형과 인터섹션 자료형

마치며

Quiz

 

감사의 말

퀴즈 정답과 해설

한국어판 부록: ES2021

 

 

 

4. 장점

책은 사진에서 보는것 처럼 B5정도의 핸드북 사이즈에 얇은편이라 들고 다니면서 보기에 적정한 사이즈와 무게이다. 그리고 각 챕터별로 설명과 함께 예제 소스를 제공하고 있어 해당 예제 소스를 따라서 코딩하면서 설명하고자 하는 항목에 대해 이해를 늘릴 수 있어서 괜찮았다. 또한 이미 익숙한 ES6 자바스크립트 구조에서 ES2016부터 추가된 기능을 항목별로 설명해 주어서 문법이 어떻게 발전했는지 쉽게 알 수가 있었다.

 

 

5. 단점

앞선 장점 때문에 발생하는 단점 일 수 있는데.. 책의 크기와 페이지 수가 한정되어 있으나 많은 내용을 담을려고 해서 인지 충분한 설명이 부족하다고 느껴지는 부분이 꽤 있었다.
특히, 타입스크립트 부분은 단 몇 페이지에만 설명이 되어 있고, 자바스크립트 특성상 단순 메모지에서 코딩 후 웹으로 테스트가 가능해도 VSCODE 등의 IDE에 대해서 언급만 한 부분에서 꽤 많이 아쉬웠다.

 

 

6. 후기

해당 책은 자바스크립트를 처음 접해보는 사용자보다는 꽤 많이 자바스크립트를 접해보고 사용하였지만 그 개념과 사용법이 익숙하지 않은 개발자에게 좋은 책이 될 거 같았다. 본인만 하더라도 웹개발자이지만 자바스크립트의 경우 단순히 인터넷에서 로직및 사용법만 찾아보고 개발 소스에 적용하기에만 바빴는데 이번에 이 책을 접하면서 개념을 잡으면서 사용을 해 볼 수 있었다.
그리고 책이 작은 사이즈에 두께도 적당하여서 출퇴근 시간에 간단히 훌터보며 책에 나와 있는 문법을 훑어보며 실제 개발에서 쓰일때 한번씩 찾아볼 수 있는 책일듯 하다.

 

반응형

댓글