본문 바로가기

IT 인터넷/[책] Front-end 개발자를 위한 자바스크립트 프로그래밍

프론트엔드 개발자를 위한 자바스크립트 프로그래밍 1장(정리)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1장. 자바스크립트란 무엇인가? 


자바스크립트는 1955년 단순 입력 유효성 검사 기능을 위해 디자인됐습니다. 


당시 인터넷 사용자 대부분이 28.8kbps 모뎀을 썼는데, 

이는 회원 가입 형식을 입력 후 30초 뒤에 '필수 값이 입력되지 않았습니다.'라는 메세지를 받아야 하는 수준의 속도였습니다.

넷스케이프는 단순 처리를 담당할 클라이언트 스크립트 언어의 필요성을 절감했지요.


이후 넷스케이프와 마이크로소프트가 모두 독자적으로 자바스크립트를 구현했습니다. 

자바스크립트에는 문법이나 기능을 제어할 표준이 없었고, 사람들은 자바스크립트를 표준화 하기로 결정했죠.


1997년 유럽 컴퓨터 제작자 협회(European Computer Manufacturers Assosiation:ECMA)에 자바스크립트 1.1이 제안됐고,

ECMA는 "문법과 의미를 표준화하여 일반적인 목적에 쓸 수 있고 플랫폼을 가리지 않으며 제조사에 중립인 스크립트 언어"를 만들기로 했습니다.


이후 자바스크립트1.1을 손질해 ECMA-262를 만들었고, 이 표준은 ECMAScript라는 이름의 스크립트 언어를 정의합니다.

국제 표준화 기구(ISO/IEC-16262) ECMAScript를 표준으로 받아들였습니다.



1.1 자바스크립트 구현 


JAVASCIPRT

 ECMAScript

DOM 

BOM 


자바스크립트 구현은 코어(ECMAScript), 문서 객체 모델(DOM), 브라우저 객체 모델(BOM) 세가지로 나뉩니다. 


ECMAScript 언어는 웹 브라우저에 종속되지 않습니다. 이 언어 안에는 입력이나 출력을 담당하는 메서드가 전혀 없습니다.

ECMA-262는 언어 저수준에 해당하는 부분을 정의합니다.


- 문법, 타입, 선언문, 키워드, 예약어, 연산자, 객체 



DOM(Document Object Model)은 XML을 HTML에서 사용할 수 있도록 확장한 API 입니다.

DOM은 전체 페이지를 아래 HTML 코드처럼 문서를 노드의 계층 구조로 변환합니다.

<html>

<head></head>

<body></body>

</html>

이를 통해 개발자가 문서의 콘텐츠와 구조를 자유롭게 수정할 수 있습니다.


그렇다면 DOM과 JAVASCRIPT의 연결점은 무엇일까요?


DOM은 자바스크립트에 묶인 모델은 아니며 무수히 많은 모델에서 DOM을 구현합니다.

하지만 웹 브라우저에서 DOM은 ECMAScript를 통해 구현됩니다.

DOM은 웹페이지 콘텐츠를 조작하는 메서드와 인터페이스를 제공합니다. 



BOM(Browser Object Model)은 브라우저와 상호작용하는 메서드와 인터페이스를 제공합니다. 

- 브라우저 창을 새로 띄움

- 브라우저 창을 움직이거나 크기 조절 및 닫기

- 브라우저 상세 정보 반환 navigator 객체

- 불러온 페이지의 상세 정보 반환하는 location 객체

- 사용자 화면 해상도에 대한 상세 정보 반환하는 screen 객체

- 쿠키 지원

- XMLHttpRequest와 인터넷 익스플로러의 ActiveXObject 같은 커스텀 객체