개발/javascript

[javascript] javascript란? #정의 #역사

smile-haha 2019. 2. 2. 16:02
반응형

 ■ 정의

 - javascript는 동적으로 \컨텐츠를 바꾸고, 멀티미디어를 다루고, 움직이는 이미지 등을 웹 페이지를 꾸며주도록 하는 프로그래밍 언어

 - javascript는 보통 HTML, CSS와 함께 웹페이지를 표현한다. 



■ 특징

 - javascript는 객체 기반의 스크립트 프로그래밍 언어

※스크립트( 프로그래밍) 언어(Scripting language) : 응용 소프트웨어를 제어하는 프로그래밍 언어로, 응용프로그램과 독립립하여 사용되고 일반적으로 응용프로그램의 언어와 다른 언어로 사용되어 최종 사용자가 응용 프로그램의 동작을 사용자의 요구에 맞게 수행할 수 있도록 해준다.

스크립트언어로 작성된 코드는 시작에서 끝날때까지 실행되며, 명확한 엔트리 포인트가 없다.(javascript, php, 파이썬, 유닉스 쉘 스크립트, 등)

 - javascript는 브라우저마자 지원되는 버전(ECMAScript version)이 다름
 - 웹 브라우저 내에서 주로 사용하나, Node.js와 같은 서버사이드 네트워크 프로그래밍에도 사용됨
 - 동적 프로그래밍 언어여서 인스턴스 생성 후에 객체에 속성을 추가하거나 제거할 수 있음
   (자바에서는 모든 객체 속성이 컴파일 전에 고정된 객체 레이아웃에의해 결정되고, 런타임에 동적으로 추가하거나 제거할 수 없음)
 - javascript는 프로토타입 기반언어
 


■ 역사

- javascript는 1955년 Netscape Communications의 Brendan Eich가 Mocha라는 이름으로 개발하였으며 Netscape Navigator 2.0을 출시하면서  지원하기 시작했다. Mocha→LiveScript→JavaScript 순으로 이름이 변경되었다.

  ※ Netscape Communications : 미국의 인터넷, 소프트웨어, 통신 산업을 하는 회사

- Netscape Communications는 표준화를 위해 ECMA International에 제출하였고, 1997년에 ECMA 표준이 되었다.

  ※ ECMA International : 정보와 통신시스템을 위한 국제적이면서 비영리 표준화기구. 이 기구는 1961년에 유럽에서 컴퓨터 시스템을 표준화하기 위해 ECMA(European Computer Manufacturers Association)로 세워졌으나, 국제적 확장을 반영하여 Ecma Interational로 기구 명을 변경 



■ 종류

Netscape Communications가 만든 javascript가 성공하자 Microsoft는 Javascript를 리버스 엔지니어링 하여 JScript로 개발하여 Internet Explorer 3.0 부터 지원하기 시작했다. 이런식으로 여러 곳에서 javascript 엔진을 개발하였는데 그 종류는 다음과 같다.


 - SpiderMonkey : 최초의 javascript 엔진. Netscape Navigator에서 지원, 파이어폭스 지원

                           웹 브라우저를 만드는데 기반을 제공한 오픈소스 응용프로그램 프레임워크

 - Chakra(JScript9) : Internet Explorer에서 사용

 - Chakra(javascript) : Microsoft Edge에서 사용

 - V8 :  Google이 개발. Chrome과 node.js에서 사용

 - JerrySCript : 사물인터넷용의 매우 가벼운 자바스크립트 엔진

 - Rhino : 모질라 재단이 운영, 오픈소스, 모두 자바로 개발됨

 - WebKit : 사파리용으로 애플이 개발. 오픈소스


이 외에도, Juce, Nashorn, KJS 등이 있다.


브라우저별로 사용하는 javascript 엔진이 다르고, 브라우저 버젼별로도 지원하는 ECMAScript version이 달라서 똑같은 javscript 코드를 짜도 브라우저별, 브라우저 버젼별로 동작이 달랐던 것 같다....


반응형