자기개발/JavaScript

JavaScript Patterns 공부

실버블렛 2013. 4. 24. 23:19
반응형



JavaScript Patterns(자바스크립트패턴)

저자
스토얀 스테파노프 지음
출판사
인사이트 | 2011-11-03 출간
카테고리
컴퓨터/IT
책소개
『자바스크립트 코딩 기법과 핵심 패턴』은 다양한 자바스크립트 코...
가격비교


목차

1장 개요 
1.1 패턴 
1.2 자바스크립트의 개념 
객체지향 
클래스가 없다 
프로토타입 
실행 환경 
1.3 ECMAScript 5 
1.4 JSLint 
1.5 콘솔 

2장 기초 
2.1 유지보수 가능한 코드 작성 
2.2 전역 변수 최소화 
전역 변수의 문제점 
var 선언을 빼먹었을 때의 부작용 
전역 객체에 대한 접근 
단일 var 패턴 
호이스팅(hoisting): 분산된 var 선언의 문제점 
2.3 for 루프 
2.4 for-in 루프 
2.5 내장 생성자 프로토타입 확장하기 / 확장하지 않기 
2.6 switch 패턴 
2.7 암묵적 타입캐스팅 피하기 
eval() 피하기 
2.8 parseInt()를 통한 숫자 변환 
2.9 코딩 규칙 
들여쓰기 
중괄호 
여는 중괄호의 위치 
공백 
2 명명 규칙 
생성자를 대문자로 시작하기 
단어 구분 
그 외의 명명 패턴 
2 주석 작성 
2 API 문서 작성 
YUIDoc 예제 
2 독자를 위한 문서 작성 
2 동료 리뷰 
2 출시 단계의 압축 
2 JSLint 실행 
2 요약 

3장 리터럴과 생성자 
3.1 객체 리터럴 
객체 리터럴 문법 
생성자 함수로 객체 생성하기 
객체 생성자의 함정 
3.2 사용자 정의 생성자 함수 
생성자의 반환 값 
3.3 new를 강제하는 패턴 
명명 규칙 
that 사용 
스스로를 호출하는 생성자 
3.4 배열 리터럴 
배열 리터럴 문법 
배열 생성자의 특이성 
배열인지 판별하는 방법 
3.5 JSON 
JSON 다루기 
3.6 정규 표현식 리터럴 
정규 표현식 리터럴 문법 
3.7 원시 데이터 타입 래퍼 
3.8 에러 객체 
3.9 요약 

4장 함수 
4.1 배경 지식 
용어 정리 
선언문 vs. 표현식: 이름과 호이스팅 
함수의 name 프로퍼티 
함수 호이스팅 
4.2 콜백 패턴 
콜백 예제 
콜백과 유효범위 
비동기 이벤트 리스너 
타임아웃 
라이브러리에서의 콜백 
4.3 함수 반환하기 
4.4 자기 자신을 정의하는 함수 
4.5 즉시 실행 함수 
즉시 실행 함수의 매개변수 
즉시 실행 함수의 반환 값 
장점과 사용 방법 
4.6 즉시 객체 초기화 
4.7 초기화 시점의 분기 
4.8 함수 프로퍼티 - 메모이제이션(Memoization) 패턴 
4.9 설정 객체 패턴 
4 커리(Curry) 
함수 적용 
부분적인 적용 
커링(Curring) 
커링을 사용해야 할 경우 
4 요약 

5장 객체 생성 패턴 
5.1 네임스페이스 패턴 
범용 네임스페이스 함수 
5.2 의존 관계 선언 
5.3 비공개 프로퍼티와 메서드 
비공개(private) 멤버 
특권(privileged) 메서드 
비공개 멤버의 허점 
객체 리터럴과 비공개 멤버 
프로토타입과 비공개 멤버 
비공개 함수를 공개 메서드로 노출시키는 방법 
5.4 모듈 패턴 
모듈 노출 패턴 
생성자를 생성하는 모듈 
모듈에 전역 변수 가져오기 
5.5 샌드박스 패턴 
전역 생성자 
모듈 추가하기 
생성자 구현 
5.6 스태틱 멤버 
공개 스태틱 멤버 
비공개 스태틱 멤버 
5.7 객체 상수 
5.8 체이닝 패턴 
체이닝 패턴의 장단점 
5.9 method() 메서드 
5 요약 

6장 코드 재사용 패턴 
6.1 클래스 방식 vs. 새로운 방식의 상속 패턴 
6.2 클래스 방식의 상속을 사용할 경우 예상되는 산출물 
6.3 클래스 방식의 상속 패턴 #1 - 기본 패턴 
프로토타입 체인 추적 
패턴 #1의 단점 
6.4 클래스 방식의 상속 패턴 #2 - 생성자 빌려쓰기 
프로토타입 체인 
생성자 빌려쓰기를 적용한 다중 상속 
생성자 빌려쓰기 패턴의 장단점 
6.5 클래스 방식의 상속 패턴 #3 - 생성자 빌려쓰고 프로토타입 지정해주기 
6.6 클래스 방식의 상속 패턴 #4 - 프로토타입 공유 
6.7 클래스 방식의 상속패턴 #5 - 임시 생성자 
상위 클래스 저장 
생성자 포인터 재설정 
6.8 Klass 
6.9 프로토타입을 활용한 상속 
논의 
ECMAScript 5의 추가사항 
6 프로퍼티 복사를 통한 상속 패턴 
6 믹스-인 
6 메서드 빌려쓰기 
예제: 배열 메서드 빌려쓰기 
빌려쓰기와 바인딩 
Function.prototype.bind() 
6 요약 

7장 디자인 패턴 
7.1 싱글톤(Singleton) 
new 사용하기 
스태틱 프로퍼티에 인스턴스 저장하기 
클로저에 인스턴스 저장하기 
7.2 팩토리(Factory) 
내장 객체 팩토리 
7.3 반복자(Iterator) 
7.4 장식자(Decorator) 
사용 방법 
구현 
목록을 사용한 구현 
7.5 전략 
데이터 유효성 검사 예제 
7.6 퍼사드(Facade) 
7.7 프록시(Proxy) 
예제 
프록시를 사용해 요청 결과 캐시하기 
7.8 중재자(Mediator) 
중재자 패턴 예제 
7.9 감시자(Observer) 
예제 #1: 잡지 구독 
예제 #2: 키 누르기 게임 
7 요약 

8장 DOM과 브라우저 패턴 
8.1 관심사의 분리 
8.2 DOM 스크립팅 
DOM 접근 
DOM 조작 
8.3 이벤트 
이벤트 처리 
이벤트 위임 
8.4 장시간 수행되는 스크립트 
setTimeout() 
웹워커 
8.5 원격 스크립팅 
XMLHttpRequest 
JSONP 
프레임과 이미지 비컨(Image Beacons) 
8.6 자바스크립트 배포 
스크립트 병합 
코드 압축과 gzip 압축 
Expires 헤더 
CDN 사용 
8.7 로딩 전략 
〈script〉 엘리먼트의 위치 
HTTP Chunked 인코딩 사용 
다운로드를 차단하지 않는 동적인 〈script〉엘리먼트 
게으른 로딩 
주문형 로딩 
자바스크립트 사전 로딩 
8.8 요약

반응형