책소개
자바스크립트의 핵심 원리, 언어적 특성을 정확하고 알기 쉽게 설명한다. 국내 개발환경, 입문/초급 개발자 수준에 맞춰 그림과 rule을 통해 설명하고 있다. 물론 이 책이 자바스크립트의 모든 것을 다룬 바이블은 아니다. 그러나 자바스크립트를 제대로 공부하고자 하는 개발자에게 여러 자바스크립트 응용 기술들을 소화할 수 있는 기초 체력을 기를 수 있게 도와주는 좋은 가이드가 될 것이다.
목차
CHAPTER 1 자바스크립트 기본 개요
__1.1 소개
__1.2 자바스크립트 활용 범위
____1.2.1 웹 개발
____1.2.2 서버 개발
____1.2.3 애플리케이션 개발
__1.3 자바스크립트의 핵심 개념
____1.3.1 객체
____1.3.2 함수
____1.3.3 프로토타입
____1.3.4 실행 컨텍스트와 클로저
__1.4 자바스크립트와 객체지향 프로그래밍
__1.5 자바스크립트와 함수형 프로그래밍
__1.6 자바스크립트의 단점
CHAPTER 2 자바스크립트 개발 환경
__2.1 웹스톰 설치 및 실행
__2.2 프로젝트 생성 및 프로그래밍
__2.3 테스트 및 디버깅
____2.3.1 테스트
____2.3.2 디버깅
CHAPTER 3 자바스크립트 데이터 타입과 연산자
__3.1 자바스크립트 기본 타입
____3.1.1 숫자
____3.1.2 문자열
____3.1.3 불린값
____3.1.4 null과 undefined
__3.2 자바스크립트 참조 타입(객체 타입
____3.2.1 객체 생성
____3.2.2 객체 프로퍼티 읽기/쓰기/갱신
____3.2.3 for in 문과 객체 프로퍼티 출력
____3.2.4 객체 프로퍼티 삭제
__3.3 참조 타입의 특성
____3.3.1 객체 비교
____3.3.2 참조에 의한 함수 호출 방식
__3.4 프로토타입
__3.5 배열
____3.5.1 배열 리터럴
____3.5.2 배열의 요소 생성
____3.5.3 배열의 length 프로퍼티
____3.5.4 배열과 객체
____3.5.5 배열의 프로퍼티 동적 생성
____3.5.6 배열의 프로퍼티 열거
____3.5.7 배열 요소 삭제
____3.5.8 Array() 생성자 함수
____3.5.9 유사 배열 객체
__3.6 기본 타입과 표준 메서드
__3.7 연산자
____3.7.1 + 연산자
____3.7.2 typeof 연산자
__3.7.3 == (동등) 연산자와 === (일치) 연산자
__3.7.4 !! 연산자
CHAPTER 4 함수와 프로토타입 체이닝
__4.1 함수 정의
____4.1.1 함수 리터럴
____4.1.2 함수 선언문 방식으로 함수 생성하기
____4.1.3 함수 표현식 방식으로 함수 생성하기
____4.1.4 Function() 생성자 함수를 통한 함수 생성하기
____4.1.5 함수 호이스팅
__4.2 함수 객체: 함수도 객체다
____4.2.1 자바스크립트에서는 함수도 객체다
____4.2.2 자바스크립트에서 함수는 값으로 취급된다
____4.2.3 함수 객체의 기본 프로퍼티
__4.3 함수의 다양한 형태
____4.3.1 콜백 함수
____4.3.2 즉시 실행 함수
____4.3.3 내부 함수
____4.3.4 함수를 리턴하는 함수
__4.4 함수 호출과 this
____4.4.1 arguments 객체
____4.4.2 호출 패턴과 this 바인딩
____4.4.3 함수 리턴
__4.5 프로토타입 체이닝
____4.5.1 프로토타입의 두 가지 의미
____4.5.2 객체 리터럴 방식으로 생성된 객체의 프로토타입 체이닝
____4.5.3 생성자 함수로 생성된 객체의 프로토타입 체이닝
____4.5.4 프로토타입 체이닝의 종점
____4.5.5 기본 데이터 타입 확장
____4.5.6 프로토타입도 자바스크립트 객체다
____4.5.7 프로토타입 메서드와 this 바인딩
____4.5.8 디폴트 프로토타입은 다른 객체로 변경이 가능하다
____4.5.9 객체의 프로퍼티 읽기나 메서드를 실행할 때만 프로토타입 체이닝이 동작한다
CHAPTER 5 실행 컨텍스트와 클로저
__5.1 실행 컨텍스트 개념
__5.2 실행 컨텍스트 생성 과정
____5.2.1 활성 객체 생성
____5.2.2 arguments 객체 생성
____5.2.3 스코프 정보 생성
____5.2.4 변수 생성
____5.2.5 this 바인딩
____5.2.6 코드 실행
__5.3 스코프 체인
____5.3.1 전역 실행 컨텍스트의 스코프 체인
____5.3.2 함수를 호출한 경우 생성되는 실행 컨텍스트의 스코프 체인
__5.4 클로저
____5.4.1 클로저의 개념
____5.4.2 클로저의 활용
____5.4.3 클로저를 활용할 때 주의사항
CHAPTER 6 객체지향 프로그래밍
__6.1 클래스, 생성자, 메서드
__6.2 상속
____6.2.1 프로토타입을 이용한 상속
____6.2.2 클래스 기반의 상속
__6.3 캡슐화
__6.4 객체지향 프로그래밍 응용 예제
____6.4.1 클래스의 기능을 가진 subClass 함수
____6.4.2 subClass 함수와 모듈 패턴을 이용한 객체지향 프로그래밍
CHAPTER 7 함수형 프로그래밍
__7.1 함수형 프로그래밍의 개념
__7.2 자바스크립트에서의 함수형 프로그래밍
____7.2.1 배열의 각 원소 총합 구하기
____7.2.2 팩토리얼
____7.2.3 피보나치 수열
__7.3 자바스크립트에서의 함수형 프로그래밍을 활용한 주요 함수
____7.3.1 함수 적용
____7.3.2 커링
____7.3.3 bind
____7.3.4 래퍼
____7.3.5 반복 함수
CHAPTER 8 jQuery 소스 코드 분석
__8.1 jQuery 1.0 소스 코드 구조
____8.1.1 jQuery 함수 객체
____8.1.2 변수 $를 jQuery() 함수로 매핑
____8.1.3 jQuery.prototype 객체 변경
____8.1.4 객체 확장 - extend() 메서드
____8.1.5 jQuery 소스 코드의 기본 구성 요소
__8.2 jQuery의 id 셀렉터 동작 분석
____8.2.1 $(“#myDiv”) 살펴보기
____8.2.2 $(“#myDiv”).text() 살펴보기
__8.3 jQuery 이벤트 핸들러 분석
____8.3.1 jQuery 이벤트 처리 예제
____8.3.2 .click() 메서드 정의
____8.3.3 $(‘#clickDiv’).click() 호출 코드 분석
____8.3.4 $(‘#clickDiv’).bind() 메서드 분석
____8.3.5 Click 이벤트 핸들러 실행 과정
____8.3.6 jQuery 이벤트 핸들러 특징