1장 자바스크립트 소개 및 개요
자바스크립트를 소개하고 자그마한 웹페이지 응용프로그램을 처음으로 소개한다. 이 장에서는자바스크립트 사용에 관련된 여러가지 이슈들(통합개발환경, 보안, 접근성 등)을 다룬다.
2장. 자바스크립트 데이터 타입과 변수
이 장에서는 자바스크립트에서 사용하는 변수, 식별자, 문법, 기본 데이터 타입 등에 대해 개괄적으로 설명한다.
3장. 연산자와 구문
할당문, 조건문, 제어문 등의 자바스크립트 기본 구문과 이에 사용되는 연산자에 대해 다룬다.
4장. 자바스크립트 객체
자바스크립트에 내장된 객체인 Number, String, Boolean, Data, Math와 같은 객체를 소개한다. 그리고 정규표현식으로 패턴을 검사할 수 있는 RegExp 객체도 소개한다. 정규표현식은 폼 필드 값을 검사할 때 반드시 필요하다.
5장. 함수
자바스크립트에 내장된 객체 중 하나인 함수를 집중적으로 다룬다. 함수는 자바스크립트 코드를 묶어 놓은 것으로, 재사용이 가능하며, 사용자 정의 객체를 생성하는데 있어 중요한 역할을 한다. 자바스크립트 함수는 다른 언어의 함수에 비해 상대적으로 간단하지만, 어떤 면에서는 복잡할 수 있다. 이 장에서는 재귀 함수와 함수 클로저를 소개하고, 상세한 사항은 11장에서 다룬다.
6장. 이벤트 처리
이벤트 핸들링에 중점적으로 다룬다. 예전의 이벤트 핸들링 방법(아직까지 많은 프로그램에서 쓰이고 있다)과 새로운 DOM기반 이벤트 핸들링 방법을 모두 다룬다.
7장. 폼과 JiT 검사
폼과 폼 필드에서 자바스크립트를 사용하는 법을 소개한다. 여기에는 각 필드 타입(텍스트 입력 필드와 드롭다운 리스트와 같은 것들)에 접근하는 방법과 넘겨받은 데이터를 검사하는 것이 포함된다. 웹서버로 폼 데이터가 전송되기 전에 미리 유효성검사를 거치면, 데이터 전송에 따른 부하를 줄여 시간과 자원을 절약할 수 있다.
8장. 샌드박스, 쿠기, 연결성, 개인정보보호
스크립트 기반 쿠키에 대해 다룬다. 쿠키란 클라이언트측에 저장되는 조그마한 데이터 조각이다. 쿠키를 사용하면 사용자이름, 암호 등의 정보를 저장할 수 있고, 따라서 매번 정보를 입력해야하는 수고를 덜어준다. 쿠키에 대해 이야기하다보면 보안 문제를 짚고 넘어가지 않을 수 없다. 그래서 이 장에서는 자바스크립트 관련 보안 이슈에 대해서도 다룬다.
9장. 기본 브라우저 객체(BOM)
기본 브라우저 객체(window, document, form, history, location 등과 같은 객체를 담고 있다)를 시작으로, 자바스크립트에서 접근할 수 있는 객체 모델을 살펴본다. BOM을 사용하면, 윈도우를 열거나 웹페이지 안의 엘리먼트(폼, 링크, 이미지 같은 것들)에 접근할 수 있다. 그리고 간단한 동적 효과를 줄 수도 있다.
10장. 문서객체모델(DOM)
이 장에서는 DOM을 중점적으로 다룬다. DOM을 사용함으로써 문서(웹페이지)의 엘리먼트와 속성에 접근할 수 있다. 그리고 HTML뿐 아니라 XML이나 XHTML 기반 문서로의 접근도 가능하다. DOM은 이해하기 쉽고 직관적이다 하지만 처음 접하는 프로그래머에게 조금 어려울 수도 있다.
11장. 사용자 정의 객체
자바스크립트에서 사용자 정의 객체를 생성하는 방법과 구문에서 프로그래밍 언어 내에서 그러한 구조를 가능케하는 프로토타입 구조를 다룬다. 그리고 상속과 캡슐화 같은 프로그래밍 언어의 개념도 일부 다룬다. 하지만 독자가 이러한 개념을 반드시 알아야 하는 것은 아니다.
12장. 동적 웹페이지와 CSS
자주 사용되는 동적 HTML 효과(드래그-앤-드롭, 페이지 일부의 수축 및 확장, 가시도, 움직임과 같은 것들)에 대해 소개한다. 이를 위해서는 CSS를 알아야 한다.
13장. Ajax
이 장에서는 최근 인기를 끈 Ajax를 소개한다. Ajax는 복잡한 자바스크립트 프로그램으로 오해하는 경우가 있는데, 그렇지 않다. Ajax를 구성한다고 할 수 있는 여러가지 프레임워크(자바스크립트, DHTML, CSS, XML 등)에 대해 언급하고, Ajax가 유명해지는 데 가장 큰 역할을 한 "구글 맵스"에 대한 예제도 제공한다.
14장. 풍부한 라이브러리! 놀라운 웹 서비스! 재미있는 API! 를 소개합니다.
무료로 다운로드해서 사용할 수 있는 유명 라이브러리들에 대해 다룬다. 즉, Prototype, Sabre의 Rico, Dojo, MochiKit, 야후!의 UI, script.aculo.us와 같은 것들을 다룬다. 이러한 라이브러리와 책을 잘 활용하면 멋지고 유용한 웹 프로그램을 작성할 수 있을 것이다.