1995년 JavaScript가 탄생한 지 16년이 지났습니다. 현재 전 세계 수많은 웹 페이지에서 JavaScript를 사용하여 다양한 주요 작업을 수행하고 있습니다. JavaScript는 한때 C# 및 JavaScript에 이어 Tiobe가 발표한 프로그래밍 언어 순위에서 8위를 차지했습니다. 과거의 스크립팅 언어가 주류 프로그래밍 언어로 바뀌었기 때문에 사람들은 이를 사용하여 더 크고 복잡한 프로그램을 개발합니다. 이를 위해서는 웹 개발자가 JavaScript와 JavaScript의 과거, 현재 및 미래에 대해 더 깊이 이해해야 합니다.
JavaScript의 간략한 역사
1992년경 Nombas라는 회사는 C-minus-minus(줄여서 Cmm)라는 임베디드 스크립트 언어라는 도구를 개발하기 시작했습니다. . 이 스크립팅 언어는 CEnvi라는 셰어웨어 제품에 번들로 포함되어 있었습니다. Netscape Navigator가 유명해졌을 때 Nombas는 웹 페이지에 포함될 수 있는 CEnvi 버전을 개발했습니다. 이러한 초기 실험은 Espresso Pages라고 불리며 World Wide Web에서 사용되는 최초의 클라이언트측 스크립팅 언어를 나타냅니다. Nombas는 자신의 개념이 인터넷의 중요한 초석이 될 것이라는 것을 전혀 몰랐습니다.
인터넷 서핑이 점점 대중화되면서 클라이언트 측 스크립트 개발의 필요성도 점차 높아지고 있습니다. 당시 넷스케이프에서 근무하고 있던 브렌던 아이크(Brendan Eich)는 1995년 출시 예정이었던 넷스케이프 내비게이터 2.0용 라이브스크립트(LiveScript)라는 스크립트 언어를 개발하기 시작했다. 당시 목적은 이를 브라우저와 서버사이드 모두에서 사용하는 것이었다. . Netscape는 적시에 LiveScript 구현을 완료하기 위해 Sun과 협력했습니다. Netscape Navigator 2.0이 공식적으로 출시되기 직전에 Netscape는 인터넷 유행어인 Java를 활용하기 위해 이름을 JavaScript로 변경했습니다. Netspace의 베팅은 결국 성과를 거두었고 이후 JavaScript는 인터넷의 필수 구성 요소가 되었습니다.
ECMAScript 표준
JavaScript 1.0이 큰 성공을 거두었기 때문에 Netscape는 Netscape Navigator 3.0에서 버전 1.1을 출시했습니다. 당시 Microsoft는 브라우저에 진출하기로 결정하고 JScript(Netscape와의 잠재적인 라이선스 분쟁을 피하기 위해 이런 이름으로 명명)라는 JavaScript 복제본이 포함된 IE 3.0을 출시했습니다. 웹 브라우저 분야에 진출한 Microsoft의 중요한 단계는 악명을 떨쳤지만 JavaScript 언어 개발에서도 중요한 단계가 되었습니다.
Microsoft가 진출한 후 Netscape Navigator 3.0의 JavaScript, IE의 JScript, CEnvi의 ScriptEase라는 세 가지 JavaScript 버전이 동시에 존재했습니다. C 및 기타 프로그래밍 언어와 달리 JavaScript에는 구문이나 기능을 통합하는 표준이 없으며 이러한 세 가지 버전은 이 문제를 강조합니다. 업계의 우려가 증가함에 따라 이러한 언어 표준화는 반드시 필요합니다. 1997년에 JavaScript 1.1이 ECMA(European Computer Manufacturer Association)에 초안으로 제출되었으며 Netscape, Sun, Microsoft, Borland 및 스크립팅에 관심이 있는 기타 회사의 프로그래머로 구성된 TC39가 ECMA-262를 작성했습니다. ECMAScript라는 새로운 스크립팅 언어를 정의합니다. 그 이후로 웹 브라우저는 ECMAScript를 JavaScript 구현의 기반으로 사용하기 위해 열심히 노력해 왔습니다(성공 및 실패의 정도는 다양함).
ECMAScript는 중요한 표준이지만 JavaScript의 유일한 부분도 아니고 표준화된 유일한 부분도 아닙니다. 실제로 완전한 JavaScript 구현은 다음 3가지 부분으로 구성됩니다.
• 핵심(ECMAScript) - JavaScript ECMAScript의 핵심은 언어의 구문과 기본 개체를 설명합니다.
• 문서 개체 모델(DOM) —— DOM은 웹 콘텐츠 처리를 위한 방법과 인터페이스를 설명합니다
•BOM(브라우저 개체 모델)——BOM은 브라우저와 상호 작용하는 방법과 인터페이스를 설명합니다
JavaScript 버전 기록
역사적 이유와 지속적인 기술 발전으로 인해 JavaScript에는 다양한 버전이 있으며, 다양한 브라우저의 구현도 다릅니다. 저자는 다양한 버전의 JavaScript와 해당 브라우저를 다양한 측면을 기준으로 정리했습니다. 정보의 구현, 이것이 이 글의 주요 목적이기도 합니다. 누구나 의견을 제시하고 함께 개선하는 것을 환영합니다.
版本 | 发布日期 | 基于 | Netscape Navigator | Mozilla Firefox | Internet Explorer | Opera | Safari | Chrome |
1.0 | 1996年3月 | 2.0 | 3.0 (JScript 1.0)(1996年8月) | |||||
1.1 | 1996年8月 | 3.0 | 3.0 (JScript 2.0)(1997年1月) |
|||||
1.2 | 1997年6月 | 4.0-4.05 | ||||||
1.3 | 1998年10月 | ECMA-262 第一版 (1997年6月发布)/ ECMA-262 第二版 (1998年6月发布) | 4.06-4.7x | 4.0 (JScript 3.0)(1997年10月) | ||||
1.4 | Netscape Server Only |
JScript 4.0 (Visual Studio 6, no IE release) 5.0 (JScript 5.0)(1999年3月) |
||||||
1.5 | 2000年11月 | ECMA-262 第三版 (1999年12月发布) | 6.0 | 1.0 |
5.5 (JScript 5.5)(2000年7月) 6 (JScript 5.6)(2001年10月) 7 (JScript 5.7)(2006年10月) 8 (JScript 5.8)(2009年3月) |
|||
1.6 | 2005年11月 | 1.5 + Array extras + Array and String generics + E4X | 1.5 | 3.0, 3.1 | ||||
1.7 | 2006年10月 | 1.6 + Pythonic generators + Iterators + let | 2.0 | 3.2, 4.0 | 1.0 | |||
1.8 | 2008年6月 | 1.7 + Generator expressions + Expression closures | 3.0 | |||||
1.8.1 | 2009年6月 |
1.8 + Native JSON support + Minor Updates | 3.5 | |||||
1.8.5 | 2010年7月 |
1.8.1 + ECMAScript 5 Compliance | 4 | 9 |
||||
2.0 | 制定中 |
ECMAScript Harmony |
[Ctrl A 모두 선택 참고: