자료 구조와 알고리즘은 프로그래밍의 기본 중의 기본이지만, 처음 공부하는 사람에게는 결코 배우기가 만만치 않고 따분할 수 있는 과목이다. 이 책은 인터넷 브라우저만 있으면 곧바로 코드를 실행해볼 수 있게, 우리에게 친숙한 자바스크립트 언어를 사용해 딱딱하고 재미없는 자료 구조와 알고리즘 학습을 쉽고 명쾌하게 풀어준다.
자바스크립트는 처음 시작하고 실행하기가 가장 쉬운 언어지만, 다른 언어보다 완전히 숙달한 사람은 훨씬 적다. C/C++ 등으로 완전한 프로그램을 짜려면 언어 자체를 깊이 있게 알고 있어야 가능하지만, 자바스크립트는 언어 전체의 능력 중 일부를 수박 겉핥기 정도만 알고 사용해도 웬만큼 서비스가 가능한 프로그램을 만들어낼 수 있다.
바로 이 부분이 자바스크립트의 모순이자 아킬레스건이고, 이 책에서 다루는 주제이기도 하다. 『You Don’t Know JS』 시리즈는 자바스크립트의 모든 것, 그중 특히 착각하기 쉽고 이해하기 어려운 부분을 깊고 철저하게 파고든다.
이 책은 ‘You Don’t Know JS’ 시리즈의 세 번째 책으로, 자바스크립트 언어에서 가장 헷갈리고 난해한 동시에 그 무엇보다도 중요한 기본 개념인 this 바인딩과 프로토타입 체인, 이 두 주제를 집중적으로 파고든다. 이 책에서는 험한 길을 마주한 상황에서 쉬운 길로 돌아가라는 식의 조언은 절대 하지 않는다. 지금은 자바스크립트를 제대로 모르더라도 이 시리즈를 읽고 나면 완벽히 알게 될 것이다. ‘You Don’t Know JS’ 시리즈와 함께 진정한 자바스크립트를 배워 보자.
Song by Carpenters Recorded on Yamaha U1PE by Architeer
Day after day I must face a world of strangers Where I don’t belong, I’m not that strong It’s nice to know that there’s someone I can turn to Who will always care, you’re always there When there’s no getting over that rainbow When my smallest of dreams won’t come true I can take all the madness the world has to give But I won’t last a day without you So many times when the city seems to be Without a friendly face, a lonely place It’s nice to know that you’ll be there if I need you And you’ll always smile, it’s all worthwhile When there’s no getting over that rainbow When my smallest of dreams won’t come true I can take all the madness the world has to give But I won’t last a day without you Touch me and I end up singing Troubles seem to up and disappear You touch me with the love you’re bringing I can’t really lose when you’re near When you’re near, my love If all my friends have forgotten half their promises They’re not unkind, just hard to find One look at you and I know that I could learn to live Without the rest, I’ve found the best When there’s no getting over that rainbow When my smallest of dreams won’t come true I can take all the madness the world has to give But I won’t last a day without you When there’s no getting over that rainbow When my smallest of dreams won’t come true I can take all the madness the world has to give But I won’t last a day without you Won’t last a day without you, without you