2022 年 6 月,微软宣布终止对 Internet Explorer 11 的支持,转而鼓励用户使用基于 Chromium 的 Edge 浏览器,标志着 Internet Explorer(IE)正式退出历史舞台。
根据 statcounter 的数据,截止到 2024 年 12 月,基于 Chromium 的浏览器市场份额已经超过 70%(其中,Chrome 占 67.48%,Edge 占 4.84%)。于是,面向桌面浏览器和移动浏览器的 Web 开发,逐渐进入只需要考虑标准的版本差异,而不必考虑浏览器产品差异的时代。换句话说,面向标准特性开发 JavaScript 项目已经常态化。
在这个大背景下,JavaScript 语言本身快速迭代、日趋完善,不仅是浏览器(客户端)应用的绝对主力语言,在服务器端(Node.js、Deno),乃至智能设备、物联网、边缘计算领域的应用也司空见惯,甚至已经跟随宇宙飞船进入太空,成为了 “宇宙级” 编程语言。
JavaScript 功能强大、应用广泛,但上手很容易、学习门槛低,对初学者非常友好,而且有庞大的开发者社区,以及丰富的开发工具、框架和库,全球开发者达到 1380 万。
在 GitHub 上,JavaScript 始终位于 “代码提交” 第一名。截至 2024 年,JavaScript 已经连续 12 年位居 Stack Overflow 开发者调查最受欢迎的编程语言榜首。
几代前端人入门首选
随着 JavaScript 迅猛发展,学习这门语言的需求也日益增长。2006 年,在相关学习资料还很匮乏的时候,前端大神 Nicholas C. Zakas 推出了《JavaScript 高级程序设计》的第 1 版。这本书以其深入浅出的讲解、全面系统的内容,上市后迅速成为前端开发者的学习圣经。
Zakas 的前 3 个版本为这本书奠定了 JavaScript 领域权威教程的基础。它的成功不仅在于知识的完整性,更在于将复杂的技术点以通俗易懂的方式传达给读者,使人能够轻松理解并应用。
随着时间的推移,前端技术的飞速演变让 JavaScript 本身的特性和开发生态发生了巨变。从 2015 年 ES6(ECMAScript 2015)的发布,到如今每一次的标准更新,JavaScript 已经成为一门强大、通用的编程语言,是现代软件开发的基石之一。为了紧跟行业需求,《JavaScript 高级程序设计》这本书也在不断升级。
2020 年,Matt Frisbie 接过接力棒,推出第 4 版。第 4 版不仅延续了前几版的经典内容,更将现代前端开发的核心技术融入其中,让这本书再次焕发活力。
Matt Frisbie 凭借其多年一线开发经验,将这本书打造成了现代前端开发者不可或缺的工具书。正如他在序言中所提到的:“这不仅是一部技术指南,更是凝聚了行业智慧与实践经验的结晶。”
第 4 版一经上市就占据各大排行榜前列,成为当年的畅销单品。通过两代作者的共同努力,这本书目前累计销量已经突破 40 万册。这本帮助了几代开发者的图书,深受读者喜爱,由于自第 2 版起,本书的封面一直采用红色设计,后来被读者亲切地称为前端 “红宝书”。
五个版本封面集合
随着 JavaScript 的快速发展,自第 1 版面世至今已经过了 20 个年头。20 年弹指一挥间,这本书的各个版本见证了前端开发行业从无到有、从弱小到繁盛的历程,并成为数十万前端开发者入行、面试、提高的必读图书,逐渐成为 JavaScript 开发必读的 “黄金标准”。
追更 20 年,我们也终于迎来了它的全新升级版 ——《JavaScript 高级程序设计(第 5 版)》。这一次依旧是一次全面的更新,全书逾 800 页,涵盖了包括 ECMAScript 2024 在内的最新语言特性,并且清理了上一版中过时的内容,依旧延续了各版本一贯的深入浅出、全面实用的风格。
作为 “黄金标准”,这本书几乎讲解了从零开始学习 JavaScript 及其应用的各个方面,同时也探讨了许多高级和前沿主题,确保读者理解如何使用各种语言特性及它们的适用场景,从而解决现实开发中遇到的业务问题。
Node.js 和 Deno 之父 Ryan Dahl 曾这样评价这本书:“在现代 JavaScript 生态中,找到一本既有深度又不失实用性的书并不容易,而《JavaScript 高级程序设计》恰好做到了这一点!”
如何阅读这本书
本书逾 800 页,共分为 25 章,为了方便各个层次的读者学习阅读,可以划分为 “入门篇”“进阶篇”“应用篇” 和 “高级篇”。
新手初学者
如果你是一位 Web 开发的初学者,建议重点阅读 “入门篇”,学习目标是快速理解 JavaScript 作为一门编程语言的运行环境和语言基础,为进一步深入学习提供保障。理解和掌握了 JavaScript 语言的基础,也能够轻松地将学习到知识迁移到其他编程语言上。
初级开发者或其他语言开发者
如果你是有一定经验或者学过其他编程语言的开发者,建议重点阅读 “入门篇” 和 “进阶篇”,除了快速理解 JavaScript 的运行环境和语言基础,可以再进一步掌握 JavaScript 内置且独特的语言构造,包括函数、对象、类、迭代器、生成器,以及代理和反射。掌握这两部分的内容,就可以使用 JavaScript 语言去开发真正的 Web 应用了。
中级开发者
如果你是一位中级开发者,掌握了 JavaScript 语言的基础和独特构造,有了相当的编程经验,那可以在复习 “入门篇” 和 “进阶篇” 的基础上,把学习重点放在 “应用篇” 上,也就是理解 BOM、DOM 规范和浏览器原生支持的 JavaScript API,包括表单、事件、动画和 Canvas,以及错误处理和 JSON。深入理解这些内容,可以让你在实际开发中更高效地完成需求调研和模块设计,拥有全面的技术观。
资深开发者
目录抢先看
从 2006 年到 2024 年,《JavaScript 高级程序设计》陪伴了无数开发者成长。它不仅是一部技术书籍,更是前端技术发展的缩影。书中的每一页都记录着 JavaScript 发展的印记,也承载着无数开发者的青春与梦想。
对于许多开发者来说,这本书不仅是学习的工具,更像是一本日记,记录着大家从初学到精通的成长轨迹。每一次翻开它,仿佛回到了那些挑灯夜读,为一个技术难题苦思冥想的日子。每一次合上它,又像是为自己解锁了一个新的世界。它教会我们的不仅是代码的逻辑,更是解决问题的思维方式和追求卓越的精神。
Nicholas C. Zakas 的开创性贡献,Matt Frisbie 的继承与创新,让这本书成为一个时代的符号。正如书中所传递的那样,JavaScript 的世界没有终点,只有不断探索的旅程。
如果你是一名渴望精通 JavaScript 的开发者,这本书将是你最值得信赖的伙伴。它不仅是技术的指南,更是走向技术巅峰的阶梯。愿每一位读者都能在这本书中找到属于自己的启迪,携手这段旅程,共同书写属于 JavaScript 的下一个篇章。