자바스크립트가 처음 등장했을 때는 웹 브라우저(클라이언트측)에서 데이터 유효성검사등을 담당하는 스크립트 언어에 불과했다.
그러나 현재는 브라우저 창과 그 컨텐츠의 거의 모든 부분에 상호작용을 하며, 클로저나 익명(람다)함수 및, 메타프로그래밍 까지
처리하며 복잡한 계산과 상호작용을 하는 완전한 프로그래밍 언어가 되었다.
또한 JQuery의 등장으로 쉽게 DOM을 핸들링 할 수 있고, 특히 Node.js의 등장으로 인해 자바스크립트를 이용한 서버개발도 가능하게 되었다.
자바스크립트
자바스크립트 구현은 다음 세가지로 나뉜다.
- 코어(ECMAScript)
- 문서 객체 모델(DOM)
- 브라우저 객체 모델(BOM)
1. 코어(ECMAScript)
자바스크립트의 핵심 기능
문법, 타입, 선언문, 키워드, 예약어, 연산자, 객체등 언어의 저수준에 해당하는 부분이다.
'ECMAScript' 언어는 웹 브라우저에 종속되지 않으며, 브라우저는 ECMAScript를 구현하는 '호스팅환경'일 뿐이다.
이러한 호스트환경(브라우저, Node.js, 어도비 플래시)은 ECMAScript를 기본적으로 구현하고 DOM, BOM등과 같은 확장을 제공한다.
2. 문서 객체 모델(DocumentObjectModel)
웹 페이지 콘텐츠를 조작하는 메서드와 인터페이스
XML을 HTML에서 사용할 수 있도록 확장된 애플리케이션 프로그래밍 인터페이스다.
DOM은 전체페이지를 노드 계층 구조로 변환하며, HTML페이지의 각 부분은 각기 다른 데이터를 포함하는 다양한 타입의 노드로 표현된다.
3. 브라우저 객체 모델(BrowserObjectModel)
브라우저와 상호작용하는 메서드와 인터페이스
BOM을 이용하면 브라우저 창에 접근하고 조작할 수 있다.
ex)
- 브라우저 창을 새로 띄움
- 브라우저 창을 움직이거나 크기를 조절
- 브라우저의 실제 정보를 반환하는 navigator 객체
- 사용자의 화면 해사동에 대한 정보를 반환하는 location 객체
- 쿠키 지원
- XMLHttpRequest와 같은 커스텀 객체
by 소년코딩
추천은 글쓴이에게 큰 도움이 됩니다.
악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.