시작하며
일 할 때 개발 공식 문서만큼이나 많이 찾아 본 것들이 있다. 바로 JavaScript 기본 문법, 동작 방식 등에 관해 개념이 정리된 문서나 블로그들이다. 물론 Stack Overflow를 이길 수는 없다. 최신 기술은 새로운 기능이 나왔거나 기획에 따라 적용 여부를 결정하기 위해 공식 문서를 봐야 했다. 그렇다면 MDN을 포함해 개념 정리가 된 블로그는 왜 그렇게 많이 보았는가?
나는 메서드, event loop cycle, 동기/비동기 처리 등 JavaScript 동작 원리 등을 깊게 이해하고 있기보다 개발 경험으로 학습된 얕은 이해 지식을 가졌다고 할 수 있다. 디버깅하거나 이슈 원인을 분석하면 JavaScript 동작 원리에서 놓치고 있던 부분에서 오는 사이드 이펙트가 많았다. 이 때 시간이 오래 걸렸다면 그만큼 허무할 수 없다. 간단한 이유라면 더더욱.
내가 과연 JavaScript를 다루고 있다고 할 수 있는가. 아이러니하게도 팀, 백엔드 동료들과 이야기 하다보면 돌고돌아 ‘아 기초가 부족해, 기본 공부 해야해’ 라는 간간히 소리를 들을 수 있다. 그렇다. 나는 이 부족함이 채워지길 바라는 갈망이 있었다. 이 문서는 JavaScript 기본 문법, 웹 동작 원리, 심화 개념 등을 공부하며 기록한 것이고 다 끝냈을 때는 깊은 지식으로 채워져있길 바란다. 꼭 그럴 것이다!