러닝 자바스크립트 - ES6로 제대로 입문하는 모던 자바스크립트 웹 개발
이선 브라운 지음, 한선용 옮김 / 한빛미디어 / 2017년 7월
평점 :
절판


추천하고 싶은 사람

* 자바스크립트를 배우고 싶은 개발자.

* 최신 자바스크립트 트렌드를 빠르게 훑어보고 싶은 개발자.

* es6를 배우고 싶은 사람

* 코뿔소 책(자바스크립트 완벽 가이드)에 압도된 사람.


추천하고 싶지 않은 사람

* 자바스크립트에 대한 깊은 수준의 이해를 원하는 사람. (이 경우 You don't know JS시리즈를 추천합니다.)

* 프로그래밍 경험이 부족한 사람




자바스크립트를 공부하려고 했던 사람들은 아마 소위 '코뿔소 책'이라고 불리는 '자바스크립트 완벽 가이드'를 적어도 한 번쯤은 들어보거나, 들춰보거나, 또는 서점에서 보셨을 겁니다. 코뿔소라는 단어랑 어울리게 그 육중한 무게감과 부피는 자바스크립트에 도전할 때 많은 걱정과, 두려움, 그리고 부담감을 만들어 내곤 했습니다. 그런데 이번에 그 코뿔소 책에 맞서, 부담감을 팍 줄인 자바스크립트 가이드북이 나왔습니다. 저는 '작은 코뿔소 책'이라고 부르는 ''러닝 자바스크립트''입니다.

둘을 간단히 비교해보자면...
러닝 자바스크립트 : 검정 코뿔소, 작은, ES6, 가볍고 넓게
자바스크립트 완벽 가이드 : 흰색 코뿔소, 큰, ES5, 완벽하게

저는 개인적으론 완벽가이드 같은 소위 레퍼런스 북은 분명 개발에 있어서 가지고 있으면 매우 든든하지만, 그거를 하나하나 모두 읽어가며 학습하기에는 부담이 너무 된다고 생각합니다. 그런면에서, 이번에 출간된 작은 코뿔소 책 러닝 자바스크립트는, 최신 표준안 ES6 (곧 ECMA2017이 나온다곤 하지만....)와 함꼐 자바스크립트를 전반적으로 학습하기에 더 나은 선택이라고 생각합니다.

이 책은 제목처럼 자바스크립트를 전반적으로 배워보는 책입니다. 그렇기에 깊이보다는 너비에 초점을 맞춘 책입니다. 그렇다고 자바스크립트 입문서적이라고 할 수는 없습니다. 저는 오히려 이책은 매우 심플하고 간단하게 자바스크립트의 고급 사항인(ES6) 클로져, 프록시, 객체 또는 배열 해체 등을 너무나 잘 설명하는데, 이를 보고 깊이 탄복하고 자바스크립트의 묘미를 느끼려면, 나름의 충분한 개발 경험이 필요하다고 생각합니다. 한 마디로, 개발자에게 (이미 자바스크립트 아마 ES5를 사용하고 있는 개발자를 포함하여) 재미있고 부담없이 ES6의 세계로 빠지게 해주는 길잡이 같은 책입니다.

저는 강력 추천합니다.

'러닝 자바스크립트'는 웹은 물론이고, 노드와 일렉트론에 힘입어, 요즘 가장 각광받는 언어로 떠오르는 자바스크립트에 대한, 빠르고 부담없는 가이드북입니다. 프로그래밍 경험이 있는 사람을 주요 독자로서 쓰였기에, 처음 프로그래밍을 접하려 하는 사람에게는 적절하지 않은 책입니다. 자바스크립트(특히 ES6) 개발, 자바스크립트와 관련된 최신 트렌드 대부분을 다루고자 했습니다. 
적정독자가 누군가에 대해서는 생각을 조금 많이 하게 되는 책이었습니다. 책은 분명 개발자를 대상으로 한다지만, 초반부는 개발자들에게는 너무 일반적인 내용이 나오고, 그렇다고 입문자가 보기에는, 중 후반부터는 프로그래밍 경험이 충분하지 않다면, 책을 즐김에 어려움이 있지 않을까 했습니다. 이것이 이해의 문제는 아닙니다. 저자는 매우 이해하기 쉽게 자바스크립트의 고급 사항들을 설명했고, 스코프나 클로저의 설명은 보면서 저도 "아 정말 쉽게 설명했다"라고 생각했습니다. 예제들도 전혀 어렵지 않습니다. (역시 20년 경력... 잘 알면 쉽게 설명한다는 말이 맞는 것 같습니다)저는 적정독자는 최소 자바스크립트 입문 서적을 한 권이상 보고  자바스크립트로 작은 프로젝트 정도를 해본 분들이 적정독자라고 생각됩니다.

매우 훌륭한 번역서입니다. 처음 HelloWorld 예제를 만들 때는 친한 형이 가르쳐주는 것 같은 느낌이 들기도 했습니다. (그리고 소프트한 인상을 기대하며 저자인 이선 브라운의 사진을 찾아본 저는....)

총 22개의 챕터와 (작아도 코뿔소는 코뿔소입니다.) 2개의 별첨으로 이루어진, 작지만 알찬 책입니다.
HelloWorld부터 시작해서(그렇지만, 단순히 콘솔에 로그찍는 그런 예제가 아닙니다. 비동기라는 단어가 나오는 HelloWorld!) 제이쿼리와 노드를 거쳐 객체 프로퍼티와 프록시까지 (그리고 다양한 도구와 정규표현식 등등) 매우 다양한 분야를 다룹니다. 그렇지만 두께는 코뿔소북 반도 안되는 500 미만!!!

이 책의 가장 큰 특징은 쉬운데 쉽지 않은 썸타는 듯한 느낌의 컨텐츠입니다. 첫 예제처럼 단순히 입문을 위한 책은 아니지만, 그렇다고 막 어려운 내용을 다루지 않고, 하나하나 차근차근 기초적인 것부터 다룹니다. 그렇기 때문에 상당히 프로그래밍에 대한 내공, 학습이 쌓인 분들은 몇가지 컨텐츠, 예를 들어 ES6의 추가사항, 들을 제외하고는 많은 부분에서 만족하지 못할 수 있습니다. 반면에 기본적인 조건, 반복문을 작성해보고, 조금의 프로그래밍 경험이 있는 분들은 이 책으로 크게 레벨업 할 수 있을거라 생각됩니다.
예를들어, 리터럴과 변수의 차이가 무엇인지, 카멜 케이스와 스네이크가 케이스가 무엇인지 알려주는 면은 분명 경험있는 프로그래머를 위한 내용은 아니지만, 약간의 프로그래밍 경험이 있으신 분들은 반드시 한 번은 짚고 확실히 알고가야할 사항입니다. 반면에, esLint 기본 설정, 정규식의 소극적, 적극적 역참조 등은 나름 경험있는 프로그래머도 봄직한 내용이라고 생각합니다.

작가는 이런 썸타는 듯한 수준의 책을 쓰며 줄타기를 매우 잘했습니다. 어렵고 딱딱한 말투도 아니며(이건 역자님의 노력도 큰 역할을 한듯합니다.)깊게 들어가야 하는 내용은 해당 챕터로 자세한 설명을 위임하며, 전체적인 흐름을 끊지 않습니다.

챕터가 너무 많아 (22개...) 모두 나열하 듯 설명하기엔 길어질 듯해 몇 그룹으로 구분해 보겠습니다.

챕터 1과 챕터 2는 직접적인 자바스크립트보다는 자바스립트를 배움에 가벼운 튜토리얼과, 개발도구에 관한 내용입니다. 이미 여기서 부터 입문서적은 아니다 라는 느낌이 듭니다.

챕터 3~9까지는 자바스크립트의 기본 사항들에 대한 내용입니다. 챕터 9는 객체 지향을 설명하고 자바스크립트에서 이 객체 지향이 어떻게 구현, 구성되어 있는 지 보여줍니다. 책 전체가 그러하지만, 이 책은 기본적으로 ES6를 설명하는 책이기에, 변수도 let과 const를 사용하며, 객체지향에서 객체를 만드는 방법으로 class를 사용합니다. 만약에, 지금 문제없이 모든 브라우져에서 지원여부와 무관하게 안전 100프로! 란 느낌의 자바스크립트를 보고자 하신다면, ES5를 다루는( 코뿔소 책이라던가.. 코뿔소 책이라던가) 책이 더 적합할 수 있겠습니다만, 이정도까지는 브라우저, 또는 Node.js에서 전혀 걱정할 바 없이 사용할 수 있을 겁니다. 

챕터 10~16은 자바스크립트의 고급 사항들에 대한 내용입니다. 일단 ES6가 기본이기에 아마 기존의 자바스크립트 버전 사용자 분들에게는 처음 보는 자바스크립트의 문법을 보실 수도 있을 거라 생각됩니다.
맵, 셋, 이터레이터와 제너레이터 등이 그러하며, 비동기 프로그래밍과 날짜, Math까지 다룹니다.

챕터 17~20은 자바스트립트 문법의 다양한 가지?에 해당한다고 생각합니다. 정규표현식, DOM과 노드, 제이쿼리가 간단 명료하게 다뤄집니다. 전체 내용은 위키와 같은 정도의 설명이기에 이걸 보고 바로 사용한다? 는 어렵겠습니다만, 자바스크립트 전체를 학습함에 이렇게 가볍게라도 다루는 것은 상당히 의미있다고 생각합니다. 요즘 정규표현식을 상당히 많이 다루고 있는데, 여기서 다루는 정규표현식 정도면 어지간한 건 다 할 수 있을 것 같습니다. 정규표현식을 위한 책도 아니면서 룩어해드, 역참조까지 다루다니...

챕터 21은 객체 프로퍼티와 프락시에 관한 내용으로 개인적으로 내일 개발하는 부분에서는 프락시를 사용해보겠다! 라고 마음 먹게 한 챕터였습니다... 후후

챕터 22은 추가적으로 다양한 정보를 얻을 수 있는 포인트를 알려줍니다. 컴공과의 잘나가는 선배가 후배에게 조언해주는 느낌입니다.


이 책.... 강추합니다. 읽고 후회하기 어려운 책이라고 생각합니다. 이 책을 읽고 MDN을 옆에 낀 채 프로젝트 진행하며 You don't know 까지 습득한다면, 충분히 자바스크립트를 활용하는 수준이 되지 않을까 생각해봅니다.  


댓글(1) 먼댓글(0) 좋아요(6)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
엄현준 2019-09-13 02:13   좋아요 0 | 댓글달기 | URL
내용이별로인가요?