JavaScript 的奇怪历史

2025-06-04

JavaScript 的奇怪历史

JavaScript 的历史几乎和它本身一样奇特。在过去的 25 年里,它从 Netscape 的一个仓促原型发展成为世界上使用最广泛的编程语言。我想,事情的经过是这样的……

让 JavaScript 存在

1990 - 1999。在此期间,我们见证了 JavaScript 的诞生以及它通过 ECMA 标准化到版本 3(ES3)。

1990年圣诞节。世界上第一个现代网络浏览器WorldWideWeb(后更名为Nexus)由蒂姆·伯纳斯-李爵士在瑞士开发。不妨试试看

全球资讯网

1991年12月。《高性能计算法案》(戈尔法案)获得通过。阿尔·戈尔后来被滑稽地误认为是“互联网的发明者”。

1993年1月,伊利诺伊大学的马克·安德森
和埃里克·比纳利用戈尔法案的资金开发了Mosaic浏览器。它一炮走红,成为第一款主流网络浏览器🚀。

马赛克

1995 年初,由马克·安德森 (Marc Andreessen) 联合创立的 Netscape 公司发展迅速,占据了浏览器市场近 80% 的份额,但网页设计师需要一种“粘合”语言来让他们的网站更具动态性。起初,他们转向了 Java,但后来意识到需要一种更具动态性、更易于使用的语言。

网景

1995 年 5 月。Brendan Eich被招募来将“Scheme 放入浏览器中”,但由于微软的威胁,他们面临着迅速制作原型的压力。

艾希

十天后……他创建了一门名为 Mocha 的语言。它拥有 Java 的语法、类似 Scheme 的一等函数、类似 Lisp 的动态类型以及类似 Self 的原型。

1995 年 9 月。出于市场营销原因,它更名为 LiveScript。

1995 年 12 月。由于营销原因,它被重新命名为 JavaScript。

1996 年 8 月。微软对 JavaScript 进行了逆向工程,并将其随 Internet Explorer 3 一起发布,但将其称为 JScript 营销法律原因。

微软舞蹈

1996年11月。微软正以“拥抱、扩展、消灭”的内部文化碾压竞争对手,哎呀😬。网景公司向ECMA International提交了 JavaScript 标准化文档

1997 年 6 月。JavaScript 的第一个标准化版本 (ES1) 获得 TC-39 委员会批准,命名为 ECMA-262 或 ECMAScript。它拥有我们今天在 JS 中使用的许多特性,例如函数一等公民、对象和原型继承。

1998 年 6 月。ES2 已标准化,大部分内容未改变。

1999年12月。ES3 正式标准化,新增了对严格相等、异常处理等的支持。它将在未来十年屹立不倒。

黑暗时代

2000年-2008年,科技泡沫破灭后,JS 屡屡受挫,ES4 也遭遇失败。

2000 年 3 月。科技泡沫破裂。

不久之后…… ES4 提出了一系列功能,例如类、接口、可选类型以及其他旨在满足大型企业需求的机制。雅虎的Douglas Crockford担心该提案过于复杂和臃肿,微软对此表示赞同。

TC-39 委员会决定并行开发 ECMAScript 3.1(简易版)和 ECMAScript 4(企业版)。最终,这种做法失败了,ES4 也未能面世。

火

与此同时……微软的 Internet Explorer 占据了浏览器市场约 90% 的份额。他们为 ECMAScript 做出了贡献,但大多遵循自己的规则,在浏览器中为 JS 提供新功能。最值得注意的是,AJAX为未来的单页应用程序奠定了基础。

2006年8月,John Resig 创建了JQuery。该库解决了当时存在的跨浏览器兼容性问题,这些问题令人困扰。它还提供了文档齐全、简洁易懂的 API,为“开发者体验”树立了新的标杆。时至今日,就实际页面加载速度而言,它仍然是使用最广泛的 JS 库。

2008年9月,谷歌发布Chrome浏览器,并开源其高性能运行时引擎V8。这为新的可能性打开了大门……

v8

文艺复兴

2009 - 2015 年。JavaScript 走向全栈,并在其开发生态系统中实现了蓬勃发展

2009年5月。Ryan Dahl使用 Google 的 V8 项目开发了 NodeJS。它的独特之处在于能够在服务器上通过事件循环运行非阻塞代码。这催生了JavaScript Everywhere范式。

nodejs

2009 年 12 月。在 ES3 发布整整十年后,我们终于迎来了 JavaScript 的新版本——ES5 它在 ES3.1 的基础上添加了一组保守的新功能,例如严格模式、访问器和 JSON。

es5

2010年10月。AngularJSBackbone框架都发布了各自的初始版本。它们之所以如此受欢迎,原因各不相同——Angular 是声明式的、固执己见的,而 Backbone 是命令式的、极简的。这标志着现代单页应用程序 (SPA) 和“框架变革”的开始。

2013年5月,Facebook 发布ReactJS。它预计未来几年将快速发展,并巩固了当今许多应用程序中使用的声明式 UI 模式。

反应

大约在这个时期出现了数十个其他前端、后端和全栈框架,例如 Angular、Ember、Meteor、Sails、Vue、Svelte、Mithril、Knockout、Polymer,仅举几例。

现代

2015 年至今。ES6 中大量新功能的出现,改变了现代 JS 开发人员编写代码的方式。

2015 年。ES6 为该语言带来了大量新功能(其中许多源自失败的 ES4),例如 let/const、箭头函数、类、promise 等等。它催生了 Babel 和 Typescript 等转译器,让开发者可以编写现代代码,同时仍然支持运行 ES5/3 的旧版浏览器。

2016 年ES7 正式发布。我们进行了一些小改动,比如 Array.includes()。最重要的是,ECMA 现在每年都会进行一些小的修改。

2017 ES8. 我们迎来了 Async Await!

2018 ES9. 我们引入了 Rest/Spread 语法!

2019 年。ES10。更多细微但实用的更新已完成。预计将于今年夏天发布。

JavaScript 未来将走向何方?WASM 会取代 JS 吗?微前端会让 React 过时吗?新的科技泡沫会破灭吗?

只有时间才能证明,敬请期待 2045 年的第二部分!

文章来源:https://dev.to/codediodeio/the-weird-history-of-javascript-2bnb
PREV
React.js 速查表 – 终极指南
NEXT
Svelte + Tailwind + Parcel = 太棒了!