요약을 하고 들어가기전에…
페이스북에서 자바스크립트 공부르 그룹에서 이렇게 블로그에 정리를 하면서 하기로 한 것이 있어서 시작 하게 되었다.

그래서 앞으로 공부하려고 책 산 것들을 이런식으로 정리 할 예정이다.

이 책의 예제 소스를 받으려면 책 저자의 블로그 여기나 웹 사이트에서 받을 수 있다.

자바스크립트의 역사

자바스크립트가 1995년 처음 등장. 주요 목적은 이전에 펄 같은 서버 언어에서 담당하던 입력 유효성 검사였다.
1997년 자바스크립트 1.1이 유럽 컴퓨터 제작자 협회에 제안 됨.
스크립트의 미래에 흥미를 가진 회사들에서 프로그래머를 투입. 몇 달에 걸쳐 자바스크립트 1.1을 손질해 ECMA-262를 만들었음.
이듬해 국제표준화 기구(ISO)와 국제 전기 표준 회의(IEC)에서도 ECMAScript를 표준(ISO/IEC-16262)으로 받아들임.
이때부터 브라우저 제작자들은 ECMAScript를 자사 자바스크립트 구현의 기반으로 삼으려 했으나 완성도는 제각기 달랐다.

자바스크립트 구현

ECMA-262는 웹브라우저와 상관없다.
ECMA-262가 정의하는 것은 문법, 타입, 선언문, 키워드, 예약어, 연산자, 객체 이다.
ECMASCript는 단순히 명세에서 설명하는 부분들을 구현한 언어를 부르는 말일 뿐이다. 자바스크립트는 ECMASCript를 구현한 것이며 어도비 액션스크립트도 마찬가지이다.

ECMAScript 표준 준수란 무엇인가?

– 모든 타입과 값, 객체, 프로퍼티, 함수, 프로그램 문법과 시멘틱을 ECMA-262에 설명한 그대로 구현해야 한다.
– 유니코드 문자 표준을 지원해야 한다.

문서 객체 모델

문서 객체 모델(Document Object Model:DOM)은 XML을 HTML에서 사용할 수 있도록 확장한 애플리케이션 프로그래밍 인터페이스(application programming interface:API)입니다.
DOM은 전체 페이지를 노드의 계층 구조로 변환한다. HTML(XML)페이지의 각 부분은 각기 다른 데이터를 포함하는 다양한 타입의 노드로 표현된다.

DOM은 자바스크립트에 묶인 모델이 아니며 당연히 무수히 많은 언어에서 DOM을 구현한다. 하지만 웹 브라우저에서 DOM은 ECMAScript를 통해 구현되며 이제는 자바스크립트 언어에서 매우 큰 부분을 담당한다.

  • DOM View – 문서의 다양한 뷰, 예를 들어 CSS 스타일 적용 전후를 추적하는 인터페이스를 제공한다.
  • DOM 이벤트 – 이벤트와 이벤트 처리에 관한 인터페이스이다.
  • DOM 스타일 – CSS를 통해 요소의 스타일을 바꾸는 인터페이스이다.
  • DOM 이동과 범위 – 문서 트리를 이동하고 조작하는 인터페이스이다.

브라우저 객체 모델

인터넷 익스플로러 3과 넷스케이프 내비게이터 3은 ‘브라우저 객체 모델(Browser Object Model:BOM)’을 도입했는데 이는 브라우저 창에 접근하고 조작할 수 있게 하는 인터페이스이다.
BOM을 이용하면 브라우저에 표시된 페이지와는 별개의 컨텍스트에서 브라우저와 상호작용할 수 있다. BOM의 고유한 특징인 동시에 자주 문제를 일으키는 점은 BOM을 주관하는 자바스크립트 표준이 존재하지 않는다는 점이다. 이러한 상황은 HTML5이 등장하면서 개선되고 있다.

요약

자바스크립트는 웹 페이지와 상호작용하도록 디자인된 스크립트 언어이며 다음 세 부분으로 구성된다.

  • ECMA-262에서 정의하는 ECMAScript. 핵심 기능을 제공한다.
  • 문서 객체 모델(DOM). 웹 페이지 콘텐츠를 조작하는 메서드와 인터페이스를 제공한다.
  • 브라우저 객체 모델(BOM). 브라우저와 상호작용하는 메서드와 인터페이스를 제공한다.