gilbut-js_the_new_toys

이 리뷰는 길벗 출판사에서 책을 제공받아 작성된 서평입니다.

Javascript는 ECMAScript 2015 이전과 이후로 프로그래밍 방식이 매우 바뀌었다는 것은 많은 개발자들이 공감할 것이다. 또한 그 이후 현재 ES2022 까지 7년동안 많은 부분들이 변화하고 새로운 기능들이 계속해서 받아들여지면서 어떤 기능들을 사용할 수 있고 어떤 식으로 새로운 기능들을 적용해야 할지 고민하는 개발자들이 많을 것으로 생각한다. 이 책은 기존 JS 언어가 아닌 ES2015(ES6) 부터 새롭게 추가된 기능들에 대해서 상세히 설명해주는 책이다.

작성자의 회사의 경우 모든 서비스를 JS 로 개발하고 있기 때문에 나름 JS 의 많은 부분을 알고 있다고 생각해 처음 책을 읽기 전에는 가볍게 읽어보려고 길벗 출판사에 요청하게 되었었다. 하지만 JS 를 공부했을 때 어렵다고 느꼈던 스코프 부분을 포인터를 이용해 설명하고, 루프문에서 작동하는 법에 대해 설명해 주는 등 상세하게 설명을 해주는 것을 보고 가볍게 읽을 만한 책은 아니라는 생각이 들었다.

그러다보니 책을 읽으면 읽을수록 초보자를 위한 도서는 아닐 것 같다는 생각이 들었다. 아마 처음 JS 를 접한 사람이 이 책을 읽기 시작한다면 JS 의 “쉬운언어” 라는 장점을 느끼지 못 할 것으로 생각한다. 하지만 JS 로 개발을 하면 할수록 많은 개발자들이 궁금한 부분들이 생길 텐데 이 책에서 그런 많은 부분을 해결해준다. 결국 처음에 읽기에는 어렵지만 개발자로 일을 하기 위해서는 알아야 하는 부분이라고 할 수 있을 것 같았다.

책은 ES2015(ES6) 이후의 거의 모든 기능들에 대해서 설명해준다. 처음에 let 과 const 를 설명한 후 이제는 모든 사람들이 사용하고 있는 Promise 와 async await 부터 해서 최근에 조금 유행하고 있는 WeakMap, WeakSet, 그리고 작성자가 요즘 공부하고 있는 Reflect, 공유메모리 등에 대해서 설명해준다. 하지만 이 책이 다른 책들과 다른점이라고 한다면 대부분의 기능에 대한 설명을 하나하나 자세히 설명해 준다는 것이다. 예를 들어 어떤 변수가 어떤 메모리를 가리키고 있기 때문에 이 변수는 변경이 가능하다 라는 등의 설명을 해준다는 점이다.

개인적으로는 책을 읽으면서 많은 부분을 실무에서 실제로 사용하고 있는 부분이기는 했다. 사실 많은 개발자가 이미 사용하고 있지 않을까 싶다. 특히나 Reflect 같은 경우는 Nestjs 를 사용한다면 반드시 공부하고 넘어가야 하는 부분이기도 하다. 하지만 책을 읽으면서 아 다 아는거다 라는 느낌이 아니라 내가 많은 부분을 놓치고 사용하고 있었구나 하는 생각이 들게 만드는 책이였다.

다시한번 말하자면 책 내용 자체는 쉬운 편에 속하지 않기 때문에 처음 JS 를 공부하는 분들에게 추천하고 싶지는 않고 개발을 이미 하고 있지만 JS 를 잘 모르는 것 같다고 느끼는 사람들에게 추천하고 싶다. 특히나 최근에 읽은 JS 관련 서적 중에서는 가장 마음에 드는 책이였다.