javascript 는 javascript core 뿐만 아니라 브라우저 언어이다 보니 여러가지 다른 api로 이루어져 있다.
- Core
- DOM (Document Object Model)
- BOM (Browser Object Model)
- html5 api
Core는 javascript Object, Array 등 브라우저뿐만 아니라 공통적으로 사용되는 객체들이다.
DOM은 문서를 객체 모델이다. 트리 형태로 이루어진 html 태그 정보를 자바스크립트가 다루기 위해서 각각의 엘리먼트 노드를 트리형태의 객체로 정의한다. 이제 해당 객체 (혹은 노드)를 탐색해서 찾거나 노드 앞뒤로 추가하거나 삭제하는 등의 작업을 할 수 있다. 이것을 정의한 자바스크립트 api가 DOM이다.
BOM은 Browser Object Model 이다. navigator, screen, location, history, XMLHttpRequest 관련 객체들이 여기에 포함된다.
html5 API는 html5에서 새롭게 표준화 된 혹은 표준화가 진행중인 api들이 여기에 포함된다.
- form API
- drag and drop API
- geolocation API
- stroage API
- indexedDB API
- file API
- Communication Api
- Web Worker API
위와 같이 표준화가 된 API도 있지만 아직도 표준화가 안됬거나 진행중인 API도 있다.