[이북 리뷰] this와 객체 프로토타입

this와 객체 프로토타입

이 책은 You don’t know JS 시리즈 중에 하나로 이 시리즈의 내용은 사실  Github에서 읽을 수도 있고 심지어 참여(?)도 할 수 있도록 공개되어 있다. 하지만 우리말로 좀 더 쉽게 읽을 수 있도록 한빛미디어에서 리얼타임 시리즈로 번역하여 이북으로 내놓고 있으며 이 책 “this와 객체 프로토타입”은 세 번째 책에 해당한다. 다른 두 책은 You Don’t Know JS: 스코프와 클로저You Don’t Know JS: 타입과 문법이다.

참고로, 세 번째 책의 원문은 다음의 링크에서 직접 읽어볼 수 있다.

https://github.com/getify/You-Dont-Know-JS/tree/master/this%20%26%20object%20prototypes

this 바인딩의 진실

jQuery나 Angular를 쓰든 아니면 날 것으로  getElementById()를 사용하든 자바스크립트를 쓰다 보면 가장 헷갈리는 부분 중 하나가 this 바인딩이다. 책에서는 깔끔하게 this 바인딩의 4가지 규칙을 2장에서 잘 설명하고 있어 큰 도움이 된다. 적어도 앞으로는 this 바인딩으로 헷갈릴 일이 없을 것 같다. 규칙을 잊어버렸다면 2장의 정리만 읽으면 읽었던 내용이 잘 드러난다.

Class인 척 하는 Javascript ([[prototype]])

이 책에서 저자가 힘을 주어 이야기 하는 부분이 바로 자바스크립트에서 OOP를 따라하려다 보니 오해가 많아지고 있다는 점이다. 동의하는 부분이다. 자바스크립트는 OOP처럼 class에서 객체로 복사하는 타입이 아니라 reference로 위임한다는 내용은 자바스크립트를 사용하려면 꼭 숙지하고 넘어가야할 내용이다.

OLOO (Objects Linked to Other Objects)

저자는 자바스크립트가 여타의 OOP언어와 동일한 것처럼 말하지 말라고 한다. 자바스크립트와 prototype을 통해서 class 기반의 디자인 패턴을 적용하는 것은 OK! 그러나 내부의 동작원리가 위임기반이라는 것을 제대로 알기!를 강조한다. 그래서 저자는 자바스크립트를 OLOO라고 부르기를 권하고 있는데 일리있는 말이라고 생각한다.

리뷰

원문을 Github에서 볼 수도 있지만 이 책이 가지고 있는 장점이 더 있다. 한글로 쉽게 읽을 수 있다는 장점도 무시 못하지만 역자가 이해를 돕기 위해 많은 내용을 더해서 설명하고 있다는 점이다. 물론 역자가 추가한 내용은 따로 잘 구분되어 있어서 원문의 내용을 해치지 않는다.

ref

이 책을 리뷰하면서 번역된 다른 두권도 사보게 될 만큼 추천할 만한 내용이다. 자바스크립트의 입문서를 떼고 이 시리즈를 읽거나, 개발 경험을 갖춘 사람들이 읽으면 도움이 될 것 같다.

readers_emblem_250