인사이드 자바스크립트 - 핵심 개념과 원리를 정확하게. jQuery, Node.js, 클로저의 개념까지
송형주.고현준 지음 / 한빛미디어 / 2014년 1월
평점 :
절판


최근 MEAN(mean.io) 이라는 용어가 새로 나왔다. JavaScript에서 파생한 주요 프레임워크 4가지를 일컫는 말이다. MongoDB, Express, Angular.js, Node.js 4총사를 의미한다. 10년 전엔 하대했던 JavaScript가 이제는 가장 부상하는 언어의 중심이 되었을 뿐 아니라, JavaScript 하나로 Server와 Front Side를 넘나들고 원맨쇼를 하는 수준에 이르렀다.


계속 되는 JavaScript 기술이 출시되지만 대부분 기술의 구현 방식에 초점을 맞추었지, 그것이 어떤 핵심원리를 가지고 있는지 누구도 말하지도 궁금해 하지도 않았다. 어떤 지식이든지 간에 그 분야의 핵심 원리를 배운다는 점은 매우 매우 매우 중요하다. 기초를 세우는 반석이 탄탄하게 세워져 있으면, 그로부터 파생되는 지식들은 사실상 곁다리이고 응용일 뿐이다.


  인사이드 자바스크립트는 국내에서 거의 보기 힘든 '언어 원리 이해' 책이다. 내부 구조가 어떻게 되어 있는지를 분해해 알려주는 데 초점을 맞춘 책이기 때문이다. 


JavaScript의 모든 함수 객체가 prototype 프로퍼티를 가지고 있다는 것을 인지하고 있는 프로그래머는 그리 많지 않을 것이다. JavaScript는 왠지 다른 언어보다 쉬울 것이라는 편견 때문에 본질적 구조에 대한 지식이 매우 없는 경우가 많다는 것을 알게 되었다.


또 Chapter 6에서는 객체지향 프로그래밍(OOP)도 구현할 수 있는 법도 소개한다. Java를 하면서 가장 많이 처음에 보는 어휘는 바로 OOP이다. Class를 구현하는 객체를 만드는 언어의 특성 때문에 그 언어에 대해 그렇게 이야기를 많이 듣기는 하지만, JavaScript는 뭐가 기반인지 아는 사람은 많지 않다. JavaScript는 Prototype 기반의 언어인데, JavaScript로 OOP를 한다해도 Class라는 것이 없기 때문에 함수도 객체인 점을 이용해서 Function을 Class처럼 사용하는 방식으로 응용해 구현하는 재미를 볼 수 있다.


마지막엔 JavaScript 프레임워크를 대중화로 이끈 jQuery 1.0 소스를 분석해 본다. 2.0이 나와있는 현재 1.0을 분석하는 이유는 초기 버전이기 때문에 소스가 간결하기 때문이다. 늘 쉽게 써보기만 했지, 소스를 한 번 쓱 열어보는 이상은 하지 않았던 JavaScript 유저들은 jQuery 소스를 알아 볼 매우 드문 기회를 얻을 수 있을 것이다.


컴퓨터 언어의 발전 방향은 늘 간결하고, 불편한 점들을 감추도록 해왔다. 과거에 비해 소스코드가 점점 짧아지고 있고, 더 높은 효율성을 가지고 있다.(Perl에 비해 JSP는 더 편리졌고, JSP를 하던 사람도 Node.js를 해보면 또 놀라울 정도다.)


또 여러가지 복잡하게 가지고 있는 것보다 하나의 언어를 기반으로 하고 있다는 점도 편리하게 느껴진다는 점에서 앞으로도 JavaScript의 영향력은 계속 커질 것이다. 그런 점에서 출발을 할 때 핵심을 잘 파악하고 나아간다면 더 많은 배움에서 지름길이 되리라 생각한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo