본문 바로가기

book

You Don’t Know JS Yet

책의 부제는 : "자바스크립트 개념, 스코프와 클로저" 입니다.

책의 제목이 영어로 되어 있어서 번역서인데, 보통 접근성이나 검색등에 잘 노출이 안될거 같은데

이렇게 영어로 책제목을 정했다는 것이 읽기 전에 신선하게 다가왔습니다.

 

저는 잘 몰랐는데 기존에 "You don't Know JS" 시리즈가 있었고, 이번에 나온것이 2판이라는 내용을 알게 되었습니다.

 

이 책은 두개의 Part로 구성되어 있습니다.

Part1. 시작하기

Part2. 스코프와 클로저

 

 

시중에는 정말 많은 javascript 책이 출간되어 있습니다. 초급자용 쉬운책부터, 어려운 책들도 다양하게 나와있습니다.

이책은 기존에 출간된 책과 무엇을 다를지 궁금합니다. 대상독자는 어느 대상으로 하는지도 살펴보려고 합니다.

책의 내용을 빨리 보려고 하지 말고, 하나하나 오래 걸려도 필요한 내용을 살펴보는것을 저자분은 강조하십니다.

 

■ 대상독자

· 책에 나와있는 내용은 아래와 같습니다.

javascript 입문서가 아니므로 프로그래밍을 처음 접하는 분들에게는 적합하지 않습니다. 초심자라면 조금 어려울수 있습니다.

분야를 막론하고, 자바스크립트를 최소 6~9개월 동안 다루어보거나, javascript코드를 읽는 데 불편함이 없는 분들은 이책을 읽어도 좋습니다.

· 개인적으로 javascript는 웹개발을 하는 직군이면 피해갈수 없는 분야인거 같습니다. 이책은 조금 더 나은 개발자로 나아가기 위한 js책이 출간된거 같아서, 기쁩니다.

 

■ 자바스크립트란.
현재 사용하고 있는 js에 대해서 규정을 정하는 부분, 기존코드와 호환성, 바벨등 전반적으로 현재의 spec의 사용과 기술스팩에 대해서 어떻게 진행되고 있는지 설명합니다.

 

· TC39는 JS의 공식명세를 관리합니다.

https://github.com/tc39/proposals

 

GitHub - tc39/proposals: Tracking ECMAScript Proposals

Tracking ECMAScript Proposals. Contribute to tc39/proposals development by creating an account on GitHub.

github.com

https://262.ecma-international.org/10.0/

 

ECMAScript® 2019 Language Specification

 

262.ecma-international.org

· 사례로 많이 사용하고 있는 alert, console.log는 정식JS에 정의된 문법이 아닌 부분도 새롭게 느껴졌습니다.

 

 

■ 들어가며 1,2장

· js 파일 각각이 별도의 프로그램이다,

js에서는 값은 크게 원시타입(promitive type)과 객체타입(object type)으로 분류됩니다.

· 인터프리터의 개념을 상세히 알려주어서, 실제적으로 컴파일이 어떻게 되어가는지 이해하게 됩니다.

· ES2019 최신 문법에 대해서도 설명하고 있어서, 앞으로 점차적으로 많이 사용하게될 문법에 익숙하게 됩니다.

· 변수, 배열, 객체, 함수에 대해서 단순한 설명이 아닌 평소에 고려하지 않았던 부분들 까지 포함해서 설명이 되어 집니다.

 

■ 자바스크립트 뿌리 파헤치기 3장

이장에서 부터는 조금더 깊이 있는 내용들로 구성이 되어 집니다.

· 이터레이션를 통해서 data를 잘 처리하기 위해서 이터레이터 , 이터러블에 대해서 정리합니다.

· 클로저를 통해서 실용적인 관점에서 최대한 구체적으로 구현을 진행합니다.

· this 키워드를 통해서 가장 오래를 많이 받은 부분부터 정의해 나가면서, this의 동작방식을 이해합니다.

· prototype을 통해서 접근할때 일어나는 동작에 관련된 특징을 알아봅니다.

평소 기본적인 js의 문법을 활용해서 사용을 해왔던 부분에서 조금 더 깊게 관련 키워드 및 동작방식에 대해서 이해를 할수 있는 예시와 설명으로 구성되어 있습니다. 

 

Part1의 부분에 두개의 부록 A,B가 있는데, 이러한 내용은 실제 미리 경험해보고, 코드를 작성할때도 고민이 되는 부분인데

적절하게 잘 언급이 되어 있습니다. 여기서 언급되는 내용들이 저는 좋게 느껴졌습니다. 해당 부분의 내용들은 검색을 통해서도 잘 볼수없는 내용들이 있어서 좋았습니다.

 

■ Part2. 스코프와 클로저

· 내용의 키워드들을 보면서, 문법위주의 항목이 아닌 javascript의 동작에 대한 부분인 것을 알수 있습니다.

 

· 스코프를 이해하기 전에 코드 컴파일 되는 원리를 먼저 설명하고 접근하는 방식이 인상깊었습니다.

내용을 급하게 살펴보기 보다는 천천히 이해도를 높이면서 다음장으로 넘어가는 방식이 좋은 방식이라는 말이 느껴졌습니다.

 

· frontend개발 면접시 많이 나오는 호이스팅에 대해서도 "변수의 비밀 생명주기"에서 설명되어 집니다. 어떠한 부분은 그것을 지징하는

용어를 잘 알지 못하였는데, 이론을 설명하는 과정에서 그러한 동작을 설명하는 용어를 알게 되는 부분도 있습니다.

· 조금 어려운 주제인 클로저에 대해서 다양한 예시를 통해서 설명하는 부분도 다른책과 차별점이 있었습니다.

 

 

 

■ 리뷰

평소에 이러한 조금 깊게 javascript를 학습하시거나, 동작방식에 대해서 궁금증이 있는 분들이면 아주 좋은 책입니다.

현업에서 개발 진행시, 오류는 발생을 하는데 문법적으로 문제가 없는데 원인을 찾기 어려운 부분들은 이제 조금더 깊게 동작원리를 알아야 하는 시점이 오신거라고 생각이 들고 이책을 통해서 조금더 깊게 javascript의 동작원리 및 잘못 사용하고 있는 패턴 및 방식을 학습할수 있을것 같습니다. 

이책의 목차 및 키워드들이 평소에 관심있는 부분이 한번 정독해보시는것을 추천드립니다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."