맨 처음 JavaScript의 목적은 입력 유효성 검사였다.
하지만 지금은 브라우저 창과 콘텐츠의 거의 모든 부분과 상호작용한다.
1.1 JavaScript의 역사
처음 이름은 LiveScript (서버측 스크립트는 LiveWare)
당시 자바가 얻고있던 인기에 편승하기 위해 JavaScript로 변경.
1996년 마이크로소프트에서 독자적으로 JScript라는 JavaScript를 구현함.
두 JavaScript의 문법과 기능을 제어할 표준이 없어 혼란을 가중.
표준화하기로 결정.
여러 회사의 프로그래머들이 팀(TC39)이 되어 JavaScript1.1을 손질해 ECMA-262를 만듦.
이 표준은 ECMASctipt라는 이름의 스크립트를 정의함.
각 브라우저 제작자들은 ECMAScript를 자사 JavaScript구현의 기반으로 삼으려 했으나 완성도는 제각기 달랐다.
1.2 JavaScript 구현
- 코어 (ECMAScript)
- 문서 객체 모델 (DOM)
- 브라우저 객체 모델 (BOM)
1.2.1 ECMAScript
- 문법
- 타입
- 선언문
- 키워드
- 예약어
- 연산자
- 객체
(입출력 담당 메서드는 전혀 없다.)
ECMAScript 표준준수
다음을 모두 만족해야만 ECMAScript를 구현한 것으로 간주한다. (ECMA-262에 정의되어 있음)
- 모든 타입과 값, 객체, 프로퍼티, 함수, 프로그램 문법과 시맨틱을 ECMA-262에 설명한 그대로 구현
- 유니코드 문자 표준 지원
다음과 같은 정의도 있다.
- ECMA-262에서 정의하지 않은 타입이나 값, 객체, 프로퍼티, 함수를 추가할 수 있다.
- ECMA-262에 정의되지 않은 프로그램이나 정규 표현식 문법을 지원할 수 있다.
이를 통해 개발자들은 ECMAScript에 기초하여 얼마든지 새로운 언어를 구현할 수 있다.
1.2.2 문서 객체 모델
XML을 HTML에서 사용할 수 있도록 확장한 Application Programming Interface: API이다.
DOM은 전체 페이지를 노드의 계층 구조로 변환한다.
1.2.3 브라우저 객체 모델
브라우저 창에 접근하고 조작할 수 있게 하는 인터페이스이다.
이를 이용하면 브라우저와 상호작용할 수 있다.
오랫동안 BOM표준이 존재하지 않았지만 HTML5에서 표준화되면서 개선되고 있다.
[출처: 프론트엔드 개발자를 위한 자바스크립트 프로그래밍]
'프로그래밍 > JS' 카테고리의 다른 글
5장-1,2) 참조 타입 - Object 타입, Array 타입 (0) | 2016.01.20 |
---|---|
6장-1) 객체 지향 프로그래밍 - 객체에 대한 이해 (0) | 2015.11.23 |
4장) 변수와 스코프, 메모리 (0) | 2015.11.22 |
3장) 언어의 기초 (0) | 2015.11.20 |
2장) HTML속의 자바스크립트 (0) | 2015.11.18 |