객체지향 자바스크립트의 원리
역자 김태곤
출간예정일 2015년 3월 26일 (목)
정가 16,500원
페이지 152
판형 173 x 230
ISBN 978-89-94774-92-3 (93000)
원서정보 THE PRINCIPLES OF OBJECT–ORIENTED JAVASCRIPT
책 소개
인기 작가이자 TandemSeven의 프론트엔드 아키텍트인 코디 린들리가 추천한 책
C++와 자바 같은 전통적인 객체지향 언어를 사용하는 사람에게는 자바스크립트가 전혀 객체지향적으로 보이지 않을 것이다. 자바스크립트에는 클래스라는 개념도 없으며, 객체를 정의하지 않고도 코드를 작성할 수 있다. 하지만 섣부른 판단은 금물이다. 자바스크립트는 여러 설계 기법을 적용할 수 있는 매우 강력하고 표현력 있는 객체지향 언어이다.
이 책의 저자는 자바스크립트의 객체지향적인 특성을 철저히 파헤치는 동시에 자바스크립트의 독특한 상속 기법과 주요 특성을 밝히고 있다. 이 책을 통해 다음과 같은 내용을 배울 수 있다.
- 원시 값과 참조 값의 차이
- 자바스크립트 함수가 독특한 이유
- 객체를 생성하는 다양한 방법
- 직접 생성자를 정의하는 방법
- 프로토타입을 이해하고 다루는 방법
- 타입과 객체의 상속 패턴
숙련된 개발자도 이 책을 보면 자바스크립트에 대해 더 잘 이해하게 될 것이다. 객체를 조작할 때 자바스크립트 내부적으로 일어나는 동작을 이해하면 더 명확하고 유연하며 효율적인 코드를 작성할 수 있다.
이 책에서 다루는 내용
- 자바스크립트만의 독특한 객체지향 프로그래밍 방법
- 프로토타입 기반 상속과 생성자 함수의 개념
- 객체를 생성하는 법, 자신만의 타입을 정의하는 법, 상속을 사용하는 법, 객체를 다루는 방법 등
- ES5객체는 물론 ES5의 새 기능을 배우는 동안 이해해야 할 ES3의 일부 기능에 대해서도 균형 있게 제시
- 자바스크립트를 전문적으로 이해하고 작성할 때 필요한 모든 지식
독자대상
초중급
저자 소개
니콜라스 C. 자카스 Nicholas C. Zakas
Box에서 근무하는 소프트웨어 엔지니어로서 자바스크립트 최신 모범 사례에 대한 글과 강연으로 유명하다. 5년간 야후!에서 근무하며 야후! 홈페이지를 책임지는 프론트엔드 엔지니어로 일했다.
저서로는 『읽기 좋은 자바스크립트 코딩 기법』(한빛미디어, 2013), 『프론트엔드 개발자를 위한 자바스크립트 프로그래밍』(인사이트, 2013) 등이 있다.
역자 소개
김태곤
호기심 가득한 프론트엔드 개발자. 현재는 Fancy(http://www.fancy.com)라는 서비스를 만들고 있으며, NHN에 근무할 때는 스마트 에디터, 진도 자바스크립트 프레임워크, 네이버 지도, XpressEngine 등의 프로젝트에 참여했다. 배우는 것만큼 지식을 나누는 것도 좋아해서 강의와 번역을 꾸준히 진행하고 있으며 『거침없이 배우는 자바스크립트』(지앤선), 『자바스크립트 쿡북』(한빛미디어), 『자바스크립트를 깨우치다』(비제이퍼블릭) 등 다섯 권의 웹 개발 서적을 우리말로 옮겼다.
개인 블로그(http://taegon.kim)와 트위터(@taggon)를 통해 웹 기술과 관련한 글을 전하고 있다.
목차
1장. 원시 타입과 참조 타입
타입이란?
원시 타입
- 원시 타입 종류 확인
- 원시 메소드
참조 타입
- 객체 생성
- 객체 참조 제거
- 프로퍼티 추가 및 제거
내장 타입 인스턴스화
- 리터럴 형식
- 객체 및 배열 리터럴
- 함수 리터럴
- 정규 표현식 리터럴
프로퍼티 접근
참조 타입 확인
배열 확인
원시 래퍼 타입
요약
2장. 함수
선언 vs. 표현식
값으로서의 함수
인수
오버로딩
객체 메소드
- This 객체
- This값 변경
요약
3장. 객체의 이해
프로퍼티 정의
프로퍼티 탐지
프로퍼티 제거
열거
프로퍼티 종류
프로퍼티 속성
- 공통 속성
- 데이터 프로퍼티 속성
- 접근자 프로퍼티 속성
- 여러 프로퍼티 정의하기
- 프로퍼티 속성 가져오기
객체 수정 방지
- 확장 방지
- 객체 봉인
- 객체 동결
요약
4장. 생성자와 프로토타입
생성자
프로토타입
- [[Prototype]] 프로퍼티
- 생성자와 프로토타입 함께 사용하기
- 프로토타입 체이닝
- 내장 객체의 프로토타입
요약
5장. 상속
프로토타입 체이닝과 Object.prototype
- Object.prototype에서 메소드 상속
- Object.prototype 수정
객체 상속
생성자 상속
생성자 훔치기
상위타입 메소드 접근
요약
6장. 객체 패턴
비공개 멤버와 특권 멤버
- 모듈 패턴
- 생성자의 비공개 멤버
믹스인
스코프 세이프 생성자
요약
이 책의 구성
1장: 원시 타입과 참조 타입
자바스크립트에 있는 두 종류의 타입, 원시 타입과 참조 타입에 대해 다룬다. 두 종류가 서로 어떻게 다른지 알려주는 한편 자바스크립트를 전체적으로 이해하기 위해 두 타입의 차이를 아는 것이 얼마나 중요한지 설명한다.
2장: 함수
함수의 입출력에 대해 다룬다. 자바스크립트는 일급 함수 덕분에 재미있는 언어가 됐다.
3장: 객체의 이해
자바스크립트의 객체 구조를 설명한다. 자바스크립트 객체는 다른 언어의 객체와 다르게 동작하기 때문에 객체의 동작 원리를 잘 이해하고 있어야 자바스크립트를 능수능란하게 다룰 수 있다.
4장: 생성자와 프로토타입
생성자에 대해 살펴보며 앞서 함수에 대해 배웠던 내용을 심화 학습한다. 모든 생성자는 함수이지만 일반적인 함수와는 사용법이 조금 다르다. 두 방식의 차이점을 살펴보는 한편 고유 타입을 작성하는 법도 배울 것이다.
5장: 상속
자바스크립트에서 상속이 이루어지는 방식을 설명한다. 자바스크립트에는 클래스가 없지만 그렇다고 상속을 할 수 없다는 뜻은 아니다. 프로토타입 상속을 배우고 프로토타입 상속과 클래스 기반 상속의 차이점에 대해서 알아본다.
6장: 객체 패턴
자주 사용되는 객체 패턴을 살펴본다. 자바스크립트에는 여러 방법으로 객체를 작성하고 구성할 수 있는데, 그중 가장 유명한 패턴 몇 가지에 대해 배워볼 것이다.
출판사 리뷰
개발자 대부분은 객체지향 프로그래밍이라는 말을 들으면 C++이나 자바 등 클래스를 중심으로 한 객체지향 프로그래밍 언어를 떠올린다. 이런 언어로 어떤 작업을 하려면 간단한 명령행 프로그램을 만들 때도 클래스를 만드는 법을 먼저 배워야 한다. 실무에서 많이 사용하는 디자인 패턴은 클래스 기반 개념을 더 보강한다. 하지만 자바스크립트는 클래스를 사용하지 않는데, 이 때문에 C++이나 자바를 먼저 배운 사람들은 자바스크립트를 배울 때 혼란스러워한다.
객체지향 언어에는 캡슐화(Encapsulation), 집합(Aggregation), 상속(Inheritance), 다형성(Polymorphism)과 같은 특징이 있다. 자바스크립트에는 클래스가 없지만, 앞에서 말한 특성은 모두 가지고 있으며 일부는 의외의 방식으로 구현되어 있다. 이 책에서는 이 특성들이 자바스크립트로는 어떻게 만들어지는지 설명하고 있다. 그래서 이 책은 이미 개발에 익숙한 프로그래머가 객체지향 자바스크립트 개발을 시작할 때 아주 좋다. 또 자바스크립트 개발자 중에는 ECMAScript 3(ES3) 수준의 객체만 이해하고 있는 사람이 많은데, 이런 사람들에게는 ECMAScript 5(ES5)의 객체 기능에 대해 잘 알려줄 책이 필요하다. 그런 의미에서 이 책은 ES3 객체와 ES5 객체의 간극을 메워주는 좋은 안내서가 될 것이다.
이 책을 읽는 독자들은 자바스크립트만의 독특한 객체지향 프로그래밍 방법을 배우게 될 것이다. 클래스나 클래스 기반 상속에 대한 개념은 잠시 뒤로하고 프로토타입 기반 상속과 생성자 함수에 대해 배울 것이며, 객체를 생성하는 법, 자신만의 타입을 정의하는 법, 상속을 사용하는 법, 객체를 다루는 방법 등도 배우게 될 것이다. 한마디로 이 책을 읽으면 자바스크립트를 전문적으로 이해하고 작성할 때 필요한 모든 지식을 배우게 된다는 뜻이다.
이 책의 대상 독자
이 책은 객체지향 프로그래밍은 알지만, 자바스크립트에서 객체지향 프로그래밍이 어떻게 동작하는지 정확히 모르는 사람을 위한 안내서로 기획했다. 자바, C# 또는 다른 언어의 객체지향 프로그래밍에 익숙하다면 이 책을 강력히 추천한다. 특히 이 책은 다음과 같은 독자를 대상으로 한다.
- 객체지향 프로그래밍의 개념에 익숙하고 이를 자바스크립트에 적용하고 싶은 개발자
- 코드를 조금 더 효율적으로 구성하고 싶은 웹 응용프로그램 및 Node.js개발자
- 자바스크립트에 대해 깊이 있게 알고 싶은 초보 자바스크립트 개발자
이 책은 자바스크립트를 한 번도 작성해본 적 없는 초심자에게는 적합하지 않다. 이 책의 내용을 이해하려면 자바스크립트 코드를 작성하고 실행하는 방법을 잘 알고 있어야 하기 때문이다.
클린 코드를 위한 테스트 주도 개발: 파이썬을 이용한 (0) | 2015.03.02 |
---|---|
소셜 웹 마이닝: 소셜미디어 데이터 마이닝과 분석, 2판 (2) | 2015.02.05 |
인프라 디자인 패턴: 안정적인 시스템 가동을 위한 127가지 설계 방식 (0) | 2015.01.21 |
댓글 영역