청구할인 안내(인터파크 제휴카드) | 안내
삼성카드 5% (3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (최대할인 3만원 / 3만원 이상 결제)
Close

2013년 9월 9일 이후 누적수치입니다.

객체지향 자바스크립트 3/e : 객체지향 프로그래밍의 기초부터 함수, 객체, 프로토타입까지

원제 : Object-Oriented JavaScript - Third Edition: Learn everything you need to know about object-oriented JavaScript with this comprehensive guide
판매지수 137
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
정가

40,000원

  • 36,000 (10%할인)

    2,000P (5%적립)

  • 중고판매

    이 책을 인터파크에
    판매하세요

  • 이벤트/기획전

  • 연관도서(301)

  • 사은품(3)

출판사 서평

자바스크립트는 웹 사이트 개발에 사용되는 객체지향 프로그래밍 언어다. 오늘날 작성되는 웹 페이지는 콘텐츠(HTML)와 프레젠테이션(CSS), 동작(자바스크립트)의 세 부분으로 구성되는 패러다임을 따른다. 자바스크립트는 이 패러다임의 중요한 기둥 중 하나인 웹 페이지의 실행을 담당한다. 이 책은 자바스크립트를 배우기 시작한 사람이나 자바스크립트를 알고는 있지만 객체지향에 익숙하지 않은 사람들을 대상으로 한다. 이미 ES5 기능에 익숙한 사용자라면 유용한 ES6 입문서가 될 것이다. 이 책을 끝마칠 때쯤이면, 객체지향 프로그래밍 기법을 활용해 전문적인 자바스크립트 애플리케이션을 작성하는 방법을 마스터하게 될 것이다.

이 책의 대상 독자

자바스크립트를 배우기 시작한 사람이나 자바스크립트를 알고 있지만 객체지향에 익숙하지 않은 사람들을 대상으로 한다. ES5 기능에 이미 익숙한 사용자라면 유용한 ES6 입문서가 될 것이다.

이 책의 구성

1장, '객체지향 자바스크립트'에서는 자바스크립트의 역사, 현재와 미래에 대해 간략하게 설 명한 다음, 전반적인 객체지향 프로그래밍(OOP)의 기본을 알아본다. 그런 다음 책의 예제를 기본으로 사용해 본격적으로 언어를 탐구하기 위한 연습 환경(파이어버그) 설정 방법을 배운다.
2장, '원시 데이터 형식, 배열, 루프 및 조건'에서는 변수, 데이터 유형, 원시 데이터 유형, 배 열, 루프와 조건 같은 언어의 기본에 대해 설명한다.
3장, '함수'에서는 자바스크립트에서 사용하는 함수를 설명하고, 함수의 모든 것을 마스터한다. 또한 변수의 범위와 자바스크립트의 내장 함수에 대해서도 배운다. 흥미롭지만 종종 잘못 이해되는 언어의 특징인 클로저도 이 장의 마지막 부분에서 다룬다.
4장, '객체'에서는 객체에 대해 알아본다. 속성과 메소드로 작업하는 방법, 그리고 객체를 생성하는 다양한 방법을 설명한다. 이 장에서는 Array, Function, Boolean, Number, String 같은 내장 객체에 대해서도 설명한다.
5장, 'ES6 이터레이터와 제너레이터'에서는 ES6에서 가장 기대되는 기능인 이터레이터와 제 너레이터를 소개한다. 이 지식을 바탕으로 향상된 컬렉션 구조를 자세히 살펴볼 것이다.
6장, '프로토타입'에서는 자바스크립트의 프로토타입에 대한 중요한 개념을 다룬다. 프로토 타입 체인이 동작하는 방식과 hasOwnProperty( ), 프로토타입의 이해에 대해서도 설명한다.
7장, '상속'에서는 상속이 어떻게 동작하는지 설명한다. 이 장에서는 다른 고전 언어에서처럼 하위 클래스를 상속하는 방법에 대해서도 알아본다.
8장, '클래스와 모듈'에서는 ES6에서 고전적인 객체지향 프로그래밍 구조를 쉽게 작성할 수 있게 해주는 중요한 구문적 기능을 소개한다. ES6 클래스 구문은 ES5의 다소 복잡한 구문을 래핑한다. 또한 ES6는 모듈에 대한 완전한 지원을 제공한다. 이 장에서는 ES6에 도입된 클래스와 모듈 구조를 자세히 설명한다.
9장, '프라미스와 프록시'에서는 자바스크립트가 비동기 프로그래밍을 강력하게 지원하는 언어임을 설명한다. ES5까지는 비동기 프로그램을 작성하려면 콜백에 의존해야 했기 때문에 때로는 콜백 지옥이 생겼다. ES6 프라미스는 자바스크립트 언어에서 기다려왔던 특징 중 하나다. 프라미스는 ES6에서 비동기 프로그램을 작성하는 훨씬 더 깔끔한 방법을 제공한다. 프록시는 기본 연산 중 일부에 사용자정의 동작을 정의하는 데 사용된다. 이 장에서는 ES6에서의 프라미스와 프록시의 실제 사용을 살펴본다.
10장, '브라우저 환경'에서는 브라우저에 전념한다. 이 장에서는 BOM(브라우저 객체 모델)과 DOM(W3C의 문서 객체 모델), 브라우저 이벤트, AJAX에 대해서도 다룬다.
11장, '코딩과 디자인 패턴'에서는 소프트웨어 디자인 패턴에서 가장 영향력 있는 GoF 책에서 자바스크립트로 전환된 몇 가지 언어독립적인 디자인 패턴과 함께 고유한 자바스크립트 코딩 패턴에 대해 설명한다. 이 장에서는 JSON에 대해서도 설명한다.
12장, '테스트와 디버깅'에서는 현재 자바스크립트에 테스트 주도 개발과 행동 주도 개발을 지원하는 도구의 사용 방법을 설명한다. 자스민은 현재 가장 많이 사용되는 도구 중 하나다. 이 장에서는 자스민을 프레임워크로 사용하는 TDD 및 BDD에 대해 알아본다.
13장, '리액티브 프로그래밍과 리액트'에서는 ES6의 등장으로 구체화되고 있는 여러 가지 혁신적인 아이디어에 대해 설명한다. 리액티브 프로그래밍은 데이터 흐름을 사용해 상태 변경을 관리하는 방법과 매우 다른 접근 방식을 취한다. 리액트는 MVC의 뷰에 중점을 둔 프레임워크다. 이 장에서는 이 두 가지 아이디어를 소개한다.
부록A, '예약어'에서는 자바스크립트의 예약어 목록을 정리했다.
부록B, '내장 함수'에서는 내장 자바스크립트 함수를 샘플과 함께 제공한다.
부록C, '내장 객체'는 자바스크립트에서 모든 내장 객체의 모든 메소드와 속성을 사용하는 방법에 대한 세부 정보와 예제를 제공하는 레퍼런스다.
부록D, '정규 표현식'은 정규 표현식 패턴의 레퍼런스다.
부록E, '연습문제 해답'에서는 각 장의 끝에서 제시한 연습문제의 해답을 제공한다.

목차

1장. 객체지향 자바스크립트

간단한 역사
브라우저 전쟁과 르네상스
현재
미래
ECMAScript 5
ES6의 엄격 모드
ECMAScript 6
브라우저의 ES6 지원
바벨
객체지향 프로그래밍
객체
클래스
캡슐화
집합
상속
다형성
OOP 요약
연습 환경 설정
웹킷의 웹 인스펙터
맥의 JavaScriptCore
기타 콘솔
요약

2장. 원시 데이터 형식, 배열, 루프 및 조건

변수
변수는 대소문자를 구분한다
연산자
원시 데이터 유형
값 형식 찾기 - typeof 연산자
숫자
문자열
부울
Undefined와 null
심볼
원시 데이터 유형 요약
배열
배열 요소 추가 / 업데이트
요소 삭제
배열의 배열
조건과 루프
코드 블록
루프
주석
연습문제
요약

3장. 함수

함수란 무엇인가?
함수 호출
매개변수
디폴트 매개변수
나머지 매개변수
스프레드 연산자
사전 정의된 함수
변수 범위
변수 호이스팅
블록 범위
함수는 데이터다
익명 함수
콜백 함수
즉시실행 함수
내부(비공개) 함수
함수를 반환하는 함수
사용자정의 함수
클로저
범위 체인
클로저로 체인 끊기
루프의 클로저
게터와 세터
이터레이터
IIFE 대 블록
화살표 함수
연습문제
요약

4장. 객체

배열에서 객체로
요소, 속성, 메소드 및 멤버
해시와 연관 배열
객체의 속성 접근
객체의 메소드 호출
속성/메소드 변경
this 값 사용
생성자 함수
전역 객체
생성자 속성
instanceof 연산자
객체를 반환하는 함수
객체 전달
객체 비교
웹킷 콘솔의 객체
ES6 객체 리터럴
객체 속성과 어트리뷰트
ES6 객체 메소드
디스트럭처링
내장 객체
객체
배열
ES6 배열 메소드
Array.from
Array.of를 사용하여 배열 만들기
Array.prototype 메소드
함수
화살표 함수에서의 어휘적 this
객체 유형 추정
부울
숫자
문자열
Math
Date
RegExp
연습문제
요약

5장. ES6 이터레이터와 제너레이터

For...of 루프
이터레이터와 이터러블
이터레이터
이터러블
제너레이터
제너레이터 반복
컬렉션

세트
WeakMap과 WeakSet
요약

6장. 프로토타입

프로토타입 속성
프로토타입을 사용하여 메소드와 속성 추가하기
프로토타입의 메소드와 속성 사용하기
자체 속성 대 프로토타입 속성
프로토타입 속성을 자체 속성으로 덮어쓰기
isPrototypeOf( ) 메소드 사용하기
secret _ _proto_ _ link
내장 객체 보강
내장 객체 보강 - 토론
프로토타입 따라잡기
연습문제
요약

7장. 상속

프로토타입 체인
프로트타입 체인 예제
공유 속성을 프로토타입으로 이동
프로토타입만 상속
임시 생성자 - new F( )
Uber - 자식 객체에서 부모 접근하기
상속 부분을 함수로 분리하기
속성 복사
참조로 복사할 때 문제
객체에서 상속받은 객체
깊은 복사
object( ) 메소드 사용하기
프로토타입 상속과 속성 복사의 혼합 사용
다중 상속
믹스인
기생 상속
생성자 빌리기
생성자 빌리기와 프로토타입 복사하기
사례 연구 - 도형 그리기
분석
구현
테스트
연습문제
요약

8장. 클래스와 모듈

클래스 정의
생성자
프로토타입 메소드
정적 메소드
정적 속성
제너레이터 메소드
서브클래싱
믹스인
모듈
목록 내보내기
요약

9장. 프라미스와 프록시

비동기 프로그래밍 모델
자바스크립트 호출 스택
메시지 큐
이벤트 루프
타이머
프라미스
프라미스 생성
메타 프로그래밍과 프록시
프록시
함수 가로채기
요약

10장. 브라우저 환경

HTML 페이지에 자바스크립트 포함하기
BOM과 DOM 개요
BOM
window 객체 리뷰
window.navigator 속성 사용하기
콘솔은 치트 시트다
window.location 속성 사용하기
window.history 속성 사용하기
window.frames 속성 사용하기
window.screen 속성 사용하기
window.open( )/close( ) 메소드
window.moveTo( )와 window.resizeTo( ) 메소드
window.alert( )와 window.prompt( ), window.confirm( ) 메소드
window.setTimeout( )과 window.setInterval( ) 메소드 사용하기
window.document 속성
DOM
코어 DOM과 HTML DOM
DOM 노드 접근
document 노드
DOM 노드 수정
새 노드 생성하기
insertBefore( ) 메소드 사용하기
노드 제거
HTML - 전용 DOM 객체
이벤트
인라인 HTML 속성
엘리먼트 속성
DOM 이벤트 리스너
캡처와 버블링
전파 중단
디폴트 동작 방지
크로스 브라우저 이벤트 리스너
이벤트 유형
XMLHttpRequest
요청 보내기
응답 처리
버전 7 이전의 IE에서 XMLHttpRequest 객체 만들기
비동기의 A
XML의 X
예제
연습문제
요약

11장. 코딩과 디자인 패턴

코딩 패턴
동작 분리
네임스페이스
네임스페이스 생성자
초기화 시간 분기
지연 정의
구성 객체
비공개 속성과 메소드
권한 있는 메소드
공개 메소드로서의 비공개 함수
즉시 실행 함수
모듈
체이닝
JSON
고차원 함수
디자인 패턴
단일체 패턴
단일체2 패턴
팩토리 패턴
장식자 패턴
감시자 패턴
요약

12장. 테스트와 디버깅

단위 테스트
테스트 주도 개발
행동 주도 개발
모카와 차이, 시논
자바스크립트 디버깅
구문 오류
런타임 예외
요약

13장. 리액티브 프로그래밍과 리액트

리액티브 프로그래밍
왜 리액티브 프로그래밍을 고려하는가?
리액트
가상 DOM
리액트 설치와 실행
구성요소와 props
상태
라이프 사이클 이벤트
요약

부록 A. 예약어

키워드
ES6 예약어
미래의 예약어
이전의 예약어

부록 B. 내장 함수

부록 C. 내장 객체

객체
Object 생성자의 멤버
Object.prototype 멤버
객체에 대한 ECMAScript 5 추가사항
객체에 대한 ES6 추가사항
약식 속성
계산된 속성 이름
Object.assign
배열
Array.prototype 멤버
배열에 대한 ECMAScript 5 추가사항
배열에 대한 ES6 추가사항
함수
Function.prototype 멤버
Function에 대한 ECMAScript 5 추가사항
Function에 대한 ECMAScript 6 추가사항
Boolean
Number
Number 생성자의 멤버
Number.prototype 멤버
String
String 생성자의 멤버
String.prototype 멤버
String에 대한 ECMAScript 5 추가사항
String에 대한 ECMAScript 6 추가사항
Date
Date 생성자의 멤버
Date.prototype 멤버
Date에 대한 ECMAScript 5 추가사항
Math
Math 객체의 멤버
RegExp
RegExp.prototype 멤버
Error 객체
Error.prototype 멤버
JSON
JSON 객체의 멤버

부록 D. 정규 표현식

부록 E. 연습문제 해답

2장. 원시 데이터 형식, 배열, 루프 및 조건
연습문제
3장. 함수
4장. 객체
연습문제
5장. ES6 이터레이터와 제너레이터
연습문제
6장. 프로토타입
연습문제
7장. 상속
연습문제

본문중에서

자바스크립트는 가장 강력하고 다재다능한 프로그래밍 언어 중 하나로 부각되고 있다. 최신 자바스크립트는 오랜 시간 검증을 거친 최첨단 기능을 갖추고 있다. 이런 기능들은 서서히 차세대 웹과 서버 플랫폼에 형성되고 있다. ES6는 프라미스와 클래스, 화살표 함수 등 아주 중요한 언어 구조를 도입했다. 이 책은 이런 언어 구조와 실제 사용을 대해 자세히 살펴본다. 자바스크립트에 대한 사전 지식을 필요로 하지 않으며, 기초부터 시작해 언어에 대한 철저한 이해를 돕기 위해 노력했다. 자바스크립트 언어에 대해 이미 알고 있는 사람들도 매우 유익한 정보들을 얻을 수 있을 것이며, 자바스크립트와 ES5 구문에 익숙한 사람들에게는 ES6 기능에 대한 아주 유용한 입문서가 될 것이다.
('지은이의 말' 중에서)

웹 애플리케이션 개발자라면 자바스크립트에 대해 한번쯤은 들어봤을 것이다. 웹 페이지를 콘텐츠(HTML)와 프레젠테이션(CSS), 동작(자바스크립트)의 세 부분으로 구성하는 최신 패러다임에 따라 이제는 개발자뿐만 아니라 웹 디자이너들도 기본적인 자바스크립트의 구조와 동작 매커니즘을 이해해야 할 필요성이 커지고 있다.
그런 면에서 이 책은 많은 개발자들과 디자이너들에게 자바스크립트에 대해, 나아가 객체지향 프로그래밍에 대해 이해하는 데 큰 도움이 될 것이다. 시중에 이미 자바스크립트와 객체지향 프로그래밍을 다루는 책들이 많이 나와 있고 인터넷상에도 수많은 자료들이 존재하고 있지만, 이 책은 자바스크립트 객체지향 프로그래밍의 기초부터 시작해 함수, 객체, 프로토타입을 한 단계씩 다룸으로써 자바스크립트에 대한 사전 지식이 없는 사람들도 충분히 따라할 수 있게 해주는 좋은 가이드다. 또한 자바스크립트의 기초를 다시 한 번 다지고 새로운 자바스크립트 언어인 ES6에 대한 유용한 입문서 역할도 충실히 해줄 것으로 기대된다.
꽤 많은 노력을 기울여 작업했지만, 저자의 의도를 충분히 전달하지 못하거나 잘못 번역된 부분이 있을 수 있다. 잘못된 부분이나 책의 내용과 관련된 어떤 의견이라도 보내주면 소중히 다루도록 하겠다.
('옮긴이의 말' 중에서)

저자소개

베드 안타니(Ved Antani) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 1종
판매수 7권

2005년부터 자바스크립트와 GO, 자바를 사용해 확장 가능한 서버와 모바일 플랫폼을 구축해 왔다. 민트라의 부사장이며 일렉트로닉아츠와 오라클에서 근무했다. 다양한 주제에 대한 저자이자 열렬한 독자이기도 하다. 컴퓨터과학을 전공했으며 인도 방갈로(Bangalore)에 거주하고 있다. 클래식 음악에 열정적이며 아들과 함께 시간을 보내는 것을 좋아한다.

스토얀 스테파노프(Stoyan Stefanov) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

페이스북 엔지니어며 저자 및 연사로 활동하고 있다. 컨퍼런스와 그의 블로그 (www.phpied.com)에서 웹 개발을 주제로 정기적으로 발표하고 있다. 또한 자바스크립트 패턴을 연구하는 JSPatterns.com을 비롯한 여러 사이트를 운영하고 있다. 야후에서 근무할 때 YSlow 2.0을 설계했으며 이미지 최적화 도구인 Smush.it의 창시자이기도 하다. 불가리아에서 태어나 자랐지만, 캐나다 시민권자이며 현재 캘리포니아주 로스엔젤레스에 거주하고 있다. 오프라인 때는 기타를 연주하거나 비행 수업을 즐기며 가족과 함께 산타 모니카 해변에서 시간을 보내고 있다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

소프트웨어 엔지니어로서 오랫동안 웹 브라우저와 웹 서버를 개발했다. 그 경험을 바탕으로 현재는 W3C 및 다양한 국제 표준화 단체에서 웹과 관련된 표준화 업무를 담당하고 있다. 최근에는 웹 기술을 PC에서 벗어나 모바일이나 DTV, 디지털 사이니지(Digital Signage), 웨어러블(Wearable), 오토모티브(Automotive) 등 다양한 IoT 디바이스에 접목하는 오픈 웹 플랫 폼(Open Web Platform)에 관심을 가지고 관련 기술을 계속 연구 중이다. 아울러 워크숍이나 세미나 강연 및 학술 기고를 통해 오픈 웹 플랫폼과 웹 기술의 전파에 힘쓰고 있다. 옮긴 책으로 에이콘출판

펼쳐보기

이 상품의 시리즈

acorn+PACKT 시리즈(총 324권 / 현재구매 가능도서 302권)

펼쳐보기

리뷰

0.0 (총 0건)

기대평

작성시 유의사항

평점
0/200자
등록하기

기대평

0.0

교환/환불

교환/환불 방법

‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

교환/환불 가능 기간

고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

교환/환불 비용

고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

교환/환불 불가사유

반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

소비자 피해보상

소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

기타

도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

배송안내

  • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

  • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

  • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

  • 배송비

도서(중고도서 포함) 구매

2,000원 (1만원이상 구매 시 무료배송)

음반/DVD/잡지/만화 구매

2,000원 (2만원이상 구매 시 무료배송)

도서와 음반/DVD/잡지/만화/
중고직배송상품을 함께 구매

2,000원 (1만원이상 구매 시 무료배송)

업체직접배송상품 구매

업체별 상이한 배송비 적용