hyeonsig notes

오늘은 Kyle Simson님의 <You Don't Know JS: 타입과 문법, 스코프와 클로저>입니다. 이 책은 기존에 전자책으로 출간된 두 권을 책을 한 권의 종이책으로 담아 출간하였습니다. 이 책은 Javascript의 특징과 다른 언어와의 차이로 말미암아 실수하기 쉬운 부분을 정리하여 독자에게 제공하고 있습니다.


<You don't know JS> 시리즈는 현재 6개의 버전으로 출간되었으나 국내에는 4권이 번역되어 서비스되고 있습니다. 앞으로도 지속적으로 출간될 것으로 예상합니다. 이 책은 Javascript 개발자는 반드시 봐야하는 책으로 생각되며, 리뷰를 진행하기에 앞서 리뷰에 참여하게 도와주신 한빛미디어 관계자님께 감사의 말씀을 전합니다.


The Book INSIDE


[제목] You Don't Know JS: 타입과 문법, 스코프와 클로저

[평점] ★★★★☆


[저자] 카일 심슨 저 | 이일웅, 최병현 역

[링크] 도서소개 | 미리보기


한빛미디어 | 2017-07-01

282쪽 | 223*153mm | ISBN(13) : 9788968488528



Kyle Simpson

오픈 웹 전도사로, 자바스크립트, HTML5, 실시간 P2P 통신과 웹 성능에 누구 못지않은 열정을 갖고 있다. 안 그랬으면 이미 오래전에 질려버렸을 것이다. 저술가, 워크숍 강사, 기술 연사이며 오픈 소스 커뮤니티에서도 활약 중이다.


You Don't Know JS 시리즈

Kyle Simpson의 You Don't Know JS는 현재 6권이 출간되어 있습니다. 


- Scope & Closures (2014.3) [링크]

- this & Object Prototypes (2014.7) [링크]

- Types & Grammar (2015.2) [링크]

- Async & Performance (2015.2) [링크]

- Up & Going (2015.3) [링크]

- ES6 & Beyond (2015.12) [링크]


국내에 출시된 서적은 다음과 같습니다. 제공하는 링크는 전자책 링크입니다.


- 스코프와 클로저 [링크]

- this와 객체 프로토타입 [링크]

- 타입과 문법 [링크]

- 비동기와 성능 [링크]


<You Don't Know JS> 시리즈에 대해 저자가 한 메시지는 다음과 같습니다.


본 시리즈는 자바스크립트에 대해 가장 흔히 오해하고 있거나 잘못 이해하고 있는, 특정한 핵심 언어 요소를 선정하여 아주 깊고 철저하게 파헤친다. 


...


본 시리즈는 여러분이 자바스크립트를 제대로, 깊이 있게 이해할 수 있도록 도와주는 것을 목표로 한다.

- 카일 심슨


이 책에서 다루는 내용은?

이 책은 앞에 소개했던 <타입과 문법>과 <스코프와 클로저> 두 권을 엮어 출간한 책입니다. 


<타입과 문법>을 읽으며, 필자와 연관된 에피소드를 하나 소개합니다. 필자만 그렇게 느끼는지는 모르겠지만, 자바스크립트의 강제 변환은 어렵습니다. 물론 다른 언어와 달리 자바스크립트를 깊이 학습한 것은 아닙니다만, 다른 언어와 다르게 동작하는 상황이 많습니다.


다음 문제의 결과를 한 번 예측해보세요. 결과를 예측한 후, Node의 REPL이나 웹 브라우저를 활용하여 결과를 확인해보세요.


'' + ''

'' + {}

{} + ''

[] + []

[] - []

{} + {}

{} - {}

{} + []

[] + {}

{} - []

[] - {}


아마도 여러분의 예상과 결과가 많이 다를 것입니다[각주:1].


필자는 이 문제를 이해한 내용을 정리하여 얼마 전 연구실에서 자바스크립트 강제 변환에 대한 세미나를 한 적이 있었습니다. 여러분의 예측과 다르게 동작하죠? 필자는 자바스크립트에 대한 학습량이 많지 않아 준비하며 힘들었습니다. <타입과 문법>으로 학습하며 잘못 이해했던 부분도 발견했습니다. 만약 이 책을 먼저 만났더라면, 실수도 없고 좀 더 깊이 있는 세미나를 진행할 수 있었을 것 같아 아쉬움이 남습니다. 조만간 지난번에 발표했던 내용을 보강하여 다시 한번 진행해야 할 것 같습니다. 


위 문제를 유추해보고, 결과에 대해 이해하기 어렵다면 <타입과 문법> 편을 꼭 살펴보세요. 물론 자바스크립트 스펙을 보면 정리가 되어 있지만, 개인적으로는 이 책을 보는 것이 훨씬 나은 선택이라고 확신합니다. 물론 좀 더 나아가려는 목적의식이 있으면 당연히 스펙을 보는 것이 좋겠지요.


<스코프와 클로저> 부분은 자바스크립트를 조금이라도 사용했던 분이라면 대부분 이해하고 있을 것으로 생각합니다. 이 문제를 경험하고 의아하게 생각하지 않은 자바스크립트 개발자는 없을 것으로 생각합니다. 이 부분은 자바스크립트의 스코프와 클로저에 대한 정리를 비롯하여 실수하기 쉬운 부분을 소개하고 있습니다. 또한, 실수를 예방하고 저자가 추천하는 코딩 방법을 제시하고 있습니다. 


만약 자바스크립트 <스코프와 클로저>에 대해 아직 이해하지 못한 분이라면, 관련 내용을 정리하기에는 매우 좋은 단락이라고 생각합니다.


마치면서...

<You Don't Know JS>를 읽고, 그동안 자바스크립트를 사용하며 잘못 이해하고 있었던 점을 명확하게 이해할 수 있었습니다. 하지만 필자는 조만간 다시 한번 읽어보려고 합니다. 그만한 가치가 있는 책이라고 생각합니다. 초보자가 보기에는 조금 어려운 내용을 기술하고 있지만, 차분히 읽고 정리하면 충분히 이해할 수 있을 것으로 생각합니다. 


<You Don't Know JS> 시리즈는 자바스크립트 개발자라면 꼭 읽어야 할 책이라고 생각합니다. 다음 시리즈인 this와 객체 프로토타입, 비동기와 성능도 기회를 만들어 꼭 읽어봐야겠습니다. 

  1. 물론 자바스크립트 스펙을 보며 학습하신 분은 정확하게 예측하시겠죠. [본문으로]
신고
DISQUS 로드 중…
댓글 로드 중…

블로그 정보

hyeonsig notes - 천사마음

Carpe Diem~♥ 내일이 기대되는 사람이 되자.

최근에 게시된 글