2022년 1월 6일자로 <<코어 자바스크립트>>를 완독했다. 2021년 12월 20일부터 하루에 한 챕터씩 읽기 시작했다. 12월 안으로 읽으려고 했으나 연말이라서 바쁘다는 핑계로 1월로 넘어가게 되었다.
나는 <<모던 자바스크립트 핵심 가이드>>라는 책을 읽으면서 처음 자바스크립트를 배웠다. 그 당시 스터디 내에서 이 책을 골랐는데 나에게는 아주 잘못된 선택이었다. 이 책은 이미 자바스크립트 기초와 ES5 문법을 잘 아는 사람들이 ES6 문법을 알고 싶을 때 읽기 좋다. 하지만 나는 자바스크립트에 대해 전혀 몰랐던 상태여서, this나 프로토타입 개념이 나올 때마다 매우 혼란스러웠다. (자바스크립트 핵심 개념에 대한 자세한 설명이 없다.)
어찌저찌 스터디를 마무리를 했지만, 첫 단추를 잘못 끼웠다. 하지만 다시 시작하자는 마음으로 자바스크립트 책을 찾아보다가 <<코어 자바스크립트>>를 발견했다. 여러 후기들을 보니 긍정적인 반응이었고, 책 표지도 마음에 들어 구매하여 읽기 시작했다.
이 책의 챕터 구성과 순서가 정말 잘 짜여졌다고 생각한다. 처음에 가장 기본적인 데이터 타입이 나오고, 두 번째 챕터가 실행 컨텍스트이다. 실행 컨텍스트를 읽으며 자바스크립트 문법 흐름(?)이 머리속으로 그려졌다. 실행 컨텍스트로 왜 호이스팅이 일어나는지, 어떻게 스코프 체이닝이 이루어지는지, 클로저의 원리, this binding 등을 설명할 수 있다. 책에서도 실행 컨텍스트 개념을 통해 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있다고 설명한다. 또한, 나를 힘들게 했던 this 개념에 대해 정확히 배웠고, 왜 화살표 함수를 쓰는지 정확하게 알게 되었다. 자바스크립트는 프로토타입 기반 언어라고 하지만 정작 나는 프로토타입 개념이 이해가 되질 않았는데, 이 책은 프로토타입 개념을 그림으로 잘 설명해주어 이해가 잘 되었다.
처음 자바스크립트를 배울 때, 생소한 개념들이 많았고, 이 언어가 왜 이렇게 동작할까라는 질문이 끊이지 않았다. 자바스크립트가 어렵고 재미없다고 느꼈고, 정말 나랑 맞지 않는다는 느낌이 들어 내가 프론트엔드 개발자를 포기해야 하나라는 생각까지 했다. 하지만 이후 <<코어 자바스크립트>>를 읽고 수많은 질문들과 고민들이 단번에 해결되었다. 자바스크립트 전체를 관통하는 핵심 개념들을 배우고 싶은 분들께 추천한다!!