자바스크립트: 두 판 사이의 차이

위키백과, 우리 모두의 백과사전.
내용 삭제됨 내용 추가됨
TedBot (토론 | 기여)
잔글 봇: 린트 오류 및 스타일 정리
편집 요약 없음
122번째 줄: 122번째 줄:
* {{언어링크|en}} [https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS/ List of languages that compile to JS]
* {{언어링크|en}} [https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS/ List of languages that compile to JS]
* ([[모질라 재단]]-한글)https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide
* ([[모질라 재단]]-한글)https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide

{{자바스크립트}}
{{자바스크립트}}
{{ECMA스크립트}}
{{ECMA스크립트}}
{{웹 브라우저}}
{{웹 브라우저}}
{{주요 프로그래밍 언어}}
{{주요 프로그래밍 언어}}
{{Node.js}}
{{전거 통제}}
{{전거 통제}}



2018년 2월 8일 (목) 10:18 판

자바스크립트
JavaScript
패러다임프로그래밍 패러다임: 스크립트 언어, 객체 지향 프로그래밍 (프로토타입 기반 프로그래밍), 명령형 프로그래밍, 함수형 프로그래밍, 사건 기반 프로그래밍
설계자브렌던 아이크
개발자넷스케이프, 모질라 재단, Ecma 인터내셔널
발표일1995년 12월 4일
최근 버전ECMAScript 2016
최근 버전 출시일2016년 6월 17일(7년 전)(2016-06-17)
파일 확장자.js
웹사이트www.ecma-international.org/publications-and-standards/standards/ecma-262/
주요 구현체
V8, 자바스크립트 코드, SpiderMonkey, Chakra
영향을 받은 언어
루아, 스킴, , 셀프, 자바, C, 파이썬, AWK, 하이퍼토크
영향을 준 언어
액션스크립트, AtScript, 커피스크립트, 다트, JScript .NET, LiveScript, Objective-J, Opa, 펄 6, QML, 타입스크립트

자바스크립트(영어: JavaScript)는 객체 기반스크립트 프로그래밍 언어이다. 이 언어는 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능을 가지고 있다. 또한 Node.js와 같은 런타임 환경과 같이 서버 사이드 네트워크 프로그래밍에도 사용되고 있다. 자바스크립트는 본래 넷스케이프 커뮤니케이션즈 코퍼레이션브렌던 아이크(Brendan Eich)가 처음에는 모카(Mocha)라는 이름으로, 나중에는 라이브스크립트(LiveScript)라는 이름으로 개발하였으며, 최종적으로 자바스크립트가 되었다. 자바스크립트가 썬 마이크로시스템즈자바구문(syntax)이 유사한 점도 있지만, 이는 사실 두 언어 모두 C 언어의 기본 구문에 바탕을 뒀기 때문이고, 자바와 자바스크립트는 직접적인 관련성이 없다. 이름과 구문 외에는 자바보다 셀프와 유사성이 많다.

2013년 1월 기준으로, 가장 최근 버전은 자바스크립트 1.8.5이고[1], 파이어폭스 3에서 지원된다. 표준 ECMA-262 3판에 대응하는 자바스크립트 버전은 1.5이다. ECMA스크립트는 쉽게 말해 자바스크립트의 표준화된 버전이다. 모질라 1.8 베타 1이 나오면서 XML에 대응하는 확장 언어인 E4X(ECMA-357)를 부분 지원하게 되었다. 자바스크립트는 브라우저마다 지원되는 버전이 다르며, 가장 범용적으로 지원되는 버전은 1.5이다.[출처 필요]

자바와 자바스크립트, 그리고 J스크립트

라이브스크립트의 이름이 자바스크립트로 변경된 것은 대략 넷스케이프가 자사의 넷스케이프 내비게이터 웹 브라우저에 자바 기술에 대한 지원을 포함하기 시작할 즈음이다. 자바스크립트는 1995년 12월 출시된 넷스케이프 2.0B3에서부터 공개, 채택되었다. 자바스크립트라는 이름은 상당한 혼란을 가져왔다. 이것은 자바와 자바스크립트 간에는 구문이 유사하다는 점(양쪽 모두 C에 바탕을 두었기 때문에) 외에는 실제 관련성이 없었기 때문이다. 두 언어는 의미론적으로 매우 다르고, 특히 각각의 객체 모델은 관련성이 없는 데다가 상당 부분이 호환되지 않는다.

웹 페이지 향상 언어로서 자바스크립트의 성공에 자극받은 마이크로소프트J스크립트로 알려진 호환 언어를 개발하게 되었다. J스크립트는 1996년 8월에 출시된 인터넷 익스플로러 브라우저 3.0부터 지원 되기 시작했다. IE 브라우저에서의 자바스크립트 사용은 실제로는 J스크립트의 사용을 의미하는 것이었다. 이에 대한 표준화 요구는 ECMA스크립트에 대한 ECMA-262 표준의 기반이 되었으며, 1996년 11월 이후 세 번째 판까지 출판됐다. 자바스크립트와 함께 자주 쓰이는 용어인 DOM은 사실 ECMA스크립트 표준의 일부가 아니며, 그것은 자체로 하나의 표준이고 XML에 기반을 둔다.

상표

"자바스크립트"(JavaScript)는 이제 오라클상표이다.[2][3] 넷스케이프 커뮤니케이션스가 발명, 구현한 기술 및 모질라 재단과 같은 독립 기관의 라이선스 하에 사용된다.[4]

헬로 월드 프로그램

아래는 자바스크립트의 헬로 월드 프로그램이며, 점선 내부가 자바스크립트로 처리된 부분을 설명한다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
    <title>자바스크립트 페이지</title>
    <script type="text/javascript">
      document.write("<p>Hello World!</p>");
    </script>
  </head>
  <body>
    <noscript>
      <p>브라우저가 자바스크립트 기능을 지원하지 않거나 자바스크립트 기능이 꺼져 있습니다.</p>
    </noscript>
  </body>
</html>

HTML과 자바스크립트

HTML은 < > 태그로 엘리먼트(element)를 정의한다면, 이러한 HTML의 <body> Hello, World! </body> 엘리먼트에 일대일 대응하는 자바스크립트(ECMA스크립트)는

document.body.innerText = "Hello, World!";

처럼 정의된다. 여기서처럼 HTML과 자바스크립트 간에는 광범위한 호환성을 보장하는 동전의 양면성 같은 구조를 엿볼 수 있는데, 이것이 가능한 것은 DOM 때문이라고 말할 수 있다.[5]

버전 역사

버전 출시일 동등한 기술적 내용 넷스케이프
내비게이터
모질라
파이어폭스
인터넷
익스플로러
오페라 사파리 구글
크롬
오래된 버전, 지원 중단: 1.0 1996년 3월 2.0 3.0
오래된 버전, 지원 중단: 1.1 1996년 8월 3.0
오래된 버전, 지원 중단: 1.2 1997년 6월 4.0-4.05 3
오래된 버전, 지원 중단: 1.3 1998년 10월 ECMA-262 1st + 2nd edition 4.06-4.7x 4.0 5[6]
오래된 버전, 지원 중단: 1.4 넷스케이프
서버
6
오래된 버전, 지원 중단: 1.5 2000년 11월 ECMA-262 3rd edition 6.0 1.0 5.5 (JScript 5.5),
6 (JScript 5.6),
7 (JScript 5.7),
8 (JScript 5.8)
7.0 3.0-5 1.0-10.0.666
오래된 버전, 지원 중단: 1.6 2005년 11월 1.5 + array extras + array and string generics + E4X 1.5
오래된 버전, 지원 중단: 1.7 2006년 10월 1.6 + Pythonic generators + iterators + let 2.0 28.0.1500.95
오래된 버전, 지원 중단: 1.8 2008년 6월 1.7 + generator expressions + expression closures 3.0 11.50
오래된 버전, 지원 중단: 1.8.1 1.8 + native JSON support + minor updates 3.5
오래된 버전, 지원 중단: 1.8.2 2009년 6월 22일 1.8.1 + minor updates 3.6
오래된 버전, 지원 중단: 1.8.5 2010년 7월 27일 1.8.2 + new features for ECMA-262 5th edition compliance 4.0

같이 보기

참고 문헌

  • Nigel McFarlane: Rapid Application Development with Mozilla, Prentice Hall Professional Technical References, ISBN 0-13-142343-6
  • David Flanagan, Paula Ferguson: JavaScript: The Definitive Guide, O'Reilly & Associates, ISBN 0-596-00048-0
  • Danny Goodman, Scott Markel: JavaScript and DHTML Cookbook, O'Reilly & Associates, ISBN 0-596-00467-2
  • Danny Goodman, Brendan Eich: JavaScript Bible, Wiley, John & Sons, ISBN 0-7645-3342-8
  • Andrew H. Watt, Jinjer L. Simon, Jonathan Watt: Teach Yourself JavaScript in 21 Days, Pearson Education, ISBN 0-672-32297-8
  • Thomas A. Powell, Fritz Schneider: JavaScript: The Complete Reference, McGraw-Hill Companies, ISBN 0-07-219127-9
  • Scott Duffy: How to do Everything with JavaScript, Osborne, ISBN 0-07-222887-3
  • Andy Harris, Andrew Harris: JavaScript Programming, Premier Press, ISBN 0-7615-3410-5
  • Joe Burns, Andree S. Growney, Andree Growney: JavaScript Goodies, Pearson Education, ISBN 0-7897-2612-2
  • Gary B. Shelly, Thomas J. Cashman, William J. Dorin, Jeffrey Quasney: JavaScript: Complete Concepts and Techniques, Course Technology, ISBN 0-7895-6233-2
  • Nick Heinle, Richard Koman: Designing with JavaScript, O'Reilly & Associates, ISBN 1-56592-300-6
  • Sham Bhangal, Tomasz Jankowski: Foundation Web Design: Essential HTML, JavaScript, CSS, PhotoShop, Fireworks, and Flash, APress L. P., ISBN 1-59059-152-6

각주

외부 링크