개발 서적을 읽는 가장 큰 효용가치는 제시된 목차를 통해 체계적이고 효율적으로 지식을 학습할 수 있다는 점이라고 생각한다.
한 가지의 내용이라도 책의 저자에 따라 다른 관점으로 설명할 수 있기에 다양한 책을 많이, 깊게 읽으면
내가 알고 있는 것에 대해 정리하고, 몰랐던 것이면 새롭게 알아나가는 장점을 느낄 수 있다.
그런 점에서 이 책이 특히 좋았던 점은 크게는 ‘목차’, ‘난이도 조절’, ‘반복되는 설명’ 이렇게 3가지를 꼽을 수 있다.
목차
아직 많은 자바스크립트 관련 책을 읽어 보지는 못했지만, 기존에 봤던 책들과는 목차가 조금 다른 것이 눈에 띄었다.
예를 들어 ‘Chapter 1. 값과 변수’에서는 변수가 될 수 있는 값의 종류부터 객체 리터럴, destructuring 등에 대해 다룬다.
‘Chapter3. 함수와 함수형 프로그래밍’에서는 함수 선언부터 호이스팅, 예외처리까지 다룬다.
처음에는 함수형 프로그래밍에서 호이스팅을 다루는 것이 조금 의아했지만 책을 읽다보니 적절한 목차라는 생각이 들어서 재밌었다.
즉 다양한 개념들에 대해 기존에 생각했던 방식과 조금 다른 목차로 접근할 수 있어서 내가 개발 서적을 읽는 가장 큰 장점을 누릴 수 있었다.
난이도 조절
각 챕터마다, 각 챕터의 일부 소제목마다도 난이도 조절 표시가 되어 있다.
개발 서적을 읽다보면 가끔씩 ‘그래서 이게 진짜 잘 쓰이는 내용인가?‘라는 생각이 들 때가 종종 있다.
당장 내가 알고 싶은 것은 A였는데 A에 대해 약간만 알게 되고, B부터 시작해서 계속되는 새로운 지식의 향연이 있으면
이것에 대해서도 지금 A와 함께 학습해야하는건지에 대해 의문을 갖게 된다. 그래서 정작 지금 꼭 알아야 하는 것에 대해 소홀히 하는 경우도 있었다.
반면 이 책은 각 챕터의 난이도를 기본, 중급, 고급, 고급 주제로 귀여운 아이콘과 함께 분류해두어서
우선적으로 현재 상황에 필요한 것들에 대해 쉽게 알 수 있고, 조금 더 깊게 공부하면 좋을 부분을 따로 확인할 수 있어서 좋았다.
한 가지 개념에 대해 다른 목차에서 반복되는 설명
예를 들어 예외처리에 대해 ‘Chapter 2.제어구조 - 12.예외잡기’에서 설명을 하고,
‘Chapter 9. 비동기 프로그래밍 - 6.거부 처리 핸들러’에서 내용을 다시 한번 간략하게 알려준다.
예외처리 이외에도 나머지 연산자, slice 등에 대해서도 이렇게 여러 번에 걸쳐 언급이 되기에 앞에서 학습한 내용을 복습하기에 좋았다.
또한 책의 중간중간에 Note 섹션을 통해 헷갈릴 수 있는 부분을 잡아주어서 많은 도움이 되었다.
이 외에도 자세하면서도 깔끔한 설명과 두껍지 않은 두께에도 불구하고 다양한 주제에 대해 다룬 점이 인상적이었다.
개인적으로 제너레이터 부분을 잘 모르기도 하고, 책에서도 고급 난이도로 분류가 되어 있어서 우선은 학습을 조금 미뤄두었는데,
이번 기회에 제대로 공부할 수 있는 기회로 삼고 새롭게 알아나가야겠다.