이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
1 스코프란 무엇인가
1.1 컴파일러 이론 1.2 스코프 이해하기 1.3 중첩 스코프 1.4 오류 1.5 복습하기 2 렉시컬 스코프 2.1 렉스타임 2.2 렉시컬 속이기 2.3 복습하기 3 함수 vs 블록 스코프 3.1 함수 기반 스코프 3.2 일반 스코프에 숨기 3.3 스코프 역할을 하는 함수 3.4 스코프 역할을 하는 블록 3.5 복습하기 4 호이스팅 4.1 닭이 먼저냐 달걀이 먼저냐 4.2 컴파일러는 두 번 공격한다 4.3 함수가 먼저다 4.4 복습하기 5 스코프 클로저 5.1 깨달음 5.2 핵심 5.3 이제 나는 볼 수 있다 5.4 반복문과 클로저 5.5 모듈 5.6 복습하기 부록 A 동적 스코프 부록 B 폴리필링 블록 스코프 부록 C 렉시컬 this 부록 D 감사의 말 |
|
이제는 Copy & Paste는 안녕! 이제는 자바스크립트를 제대로 알고 쓰자.
이 책의 주요 독자 중에는 전문 프로그래머로서 훈련받은 이들이 많을 것이고, 아마도 C나 C++ 같은 언어를 능숙하게 사용할 줄 아는 이들도 적지 않을 것이다. C나 C++를 처음 배웠을 때를 떠올려 보자. 다짜고짜 "Hello World" 출력을 배우는 경우도 있겠지만, 기초를 튼튼히 다지면서 배웠다면 함수의 선언, 형태, 입출력, 지역변수와 전역변수의 차이, 컴파일 과정 등도 익혔을 것이다. 이것은 언어의 규범을 익히는 과정이고, 해당 언어로 쓰인 코드 한 줄 한 줄이 어떤 역할을 하는지 이해해 나가는 과정이다. 그리고 이런 언어의 규범을 익혀야 그 언어를 한계까지 최대한 활용할 수 있다. C나 C++ 컴파일러가 상당히 엄격하게 굴기는 하지만, 일반적으로 C나 C++ 사용자들은 이런 규범을 익히는 과정을 거치는 경우가 많다. 하지만 자바스크립트는 어떤가? 기본적으로 상당히 쉽게 배울 수 있는 언어라서 대학에서 배우는 경우도 드물고 배우더라도 언어 자체의 구조와 작동 방식을 배우기보다는 자바스크립트를 가지고 브라우저에서 무언가 동작시키는 실습 수업이 대부분이다. 직장에서 배우는 경우는 말할 것도 없다. 늘 촉박하게 결과를 내야 하는 기업에서 한가하게 언어의 구조를 고찰하고 있을 수는 없다. 더군다나 배우기 어렵지도 않으니 말이다. 자바스크립트 엔진은 상당히 너그러워서 '적당히' 코딩해도 오류를 뿜어내는 일 없이 '적당히' 처리해준다. 그래서 자바스크립트를 사용하며 "뭘 했는지는 모르겠지만, 어쨌든 원하던 결과는 나왔어!"라고 약간은 찜찜해하며 넘어간 적이 있을 것이다. 아마도 이런 특성 때문에 자바스크립트를 학교에서도 실습에 사용하고 기업에 서도 아무나 시켜서 빨리 배우라고 할 수 있는 것이리라. 그리고 많은 이들이 자바스크립트를 욕하는 이유기도 하다. 그러나 저자 카일은 『You Don't Know JS』 시리즈에서 자바스크립트를 사용할 때도 C나 C++ 같은 아니 어쩌면 더 까다로운 규범을 익혀야 한다고 말한다. 더 깔끔하고 더 안전한 코드를 작성하고 자바스크립트의 능력을 최대한 활용하기 위해 알아야 할 것이 있다는 것이다. 언어의 한계를 최대한 활용하여 효율적인 코딩을 하길 좋아하는 고급 프로그래머라면 이 책을 즐겁게 읽을 것이다. |