< 프론트엔드 개발자를 위한 자바스크립트>(2013 인사이트, 한선용 옮김) 의 책을 요약한 내용으로 자바스크립트 제대로 배우기 스터디 그룹(페이스북) 의 글입니다.

1. 자바스크립트의 역사

  • 1995년 클라이언트에서의 입력된 필드의 유효성을 검사하기 위해 만들어졌다.
  • 기존의 유효성 검사는 매번 서버를 왕복해야 하는 불편을 겪어야 했음.
  • 넷스케이프는 당시 자바의 인기에 덧붙여 가기위해 LiveScript에서 JavaScript 로 이름을 바꿈
  • MS에서 독자적인 자바스크립트의 구현으로 두가지 버전의 자바스크립트가 존재하게 되어 표준화를 하기로함.
  • ECMA-262 (ECMAScript) 라는 스크립트 언어가 표준으로 개발됨.
  • 그 후 브라우저 제작사들은 ECMAScript를 기반으로 자사의 자바스크립트를 구현함.

2. 자바스크립트 구현

  • 자바스크립트와 ECMAScript는 같은게 아니라 자바스크립트가 훨씬 큰 개념이다.
  • 자바스크립트의 구현은 세가지로 나뉨.
    • ECMAScript (코어)
    • DOM (문서 객체 모델)
    • BOM (브라우저 객체 모델)
  • ECMAScript는 웹 브라우저에 종속된 언어가 아님.
  • ECMAScript는 스크립트 언어를 만들기 위한 기반언어임.
    • 예약어, 문법, 타입, 연산자 등의 언어의 기본적인 환경을 정의하고 있다.
    • 웹 브라우저는 ECMAScript를 구현하는 호스트 환경이다
    • 또 다른 호스트환경으로 NodeJS, Adobe Flash 등이 있다.
  • ECMAScript의 ‘판’ * 버전을 판이라고 함 * 5판이 최근판으로 2009년에 만들어졌다.
  • DOM은 XML을 HTML에서 사용할 수 있도록 확장된 API이다.
  • DOM API를 통해서 노드를 추가, 제거, 교체 수정이 가능하다.
  • BOM은 브라우져에 접근할 수 있는 API이다.
  • HTML5가 등장하면서 표준이 없던 BOM이 개선되고 있다.
  • window, navigator 객체가 BOM에 정의된 객체이다.

3. 자바스크립트 버전

  • 모질라는 넷스케이프의 자바스크립트 버전 규칙을 그대로 쓰고 있음.
  • 각 브라우져 마다 자바스크립트 버전을 다르게 쓰고 있고 아직 자바스크립트 2.0이라 부를 구현이 나오지 않음