从入门到精通:为什么每个开发者都应该阅读《JavaScript高级程序设计(第5版)》?

JavaScript红宝书第五版发布!涵盖ES2024,从基础到高级,助你成为JavaScript专家。

原文标题:为什么每个开发者都该好好读一下这本书?

原文作者:图灵编辑部

冷月清谈:

在当今技术快速迭代的时代,JavaScript 已成为软件开发的核心语言之一,其应用范围已远远超出 Web 开发领域,扩展到移动应用、桌面应用甚至机器人技术。为了帮助开发者掌握这门至关重要的语言,《JavaScript高级程序设计(第5版)》——也被称为“JS红宝书”—— 对JavaScript 的基础语法和高级特性进行了全面深入的讲解,涵盖了 ECMAScript 2024 的最新标准。

本书作者 Matt Frisbie 是一位经验丰富的技术专家,曾就职于谷歌等知名企业。Roboto 公司的创始首席工程师 John Hubberts 在本书序言中分享了他多年来在不同项目中使用 JavaScript 的经验,强调了深入学习 JavaScript 对任何软件专业人士的重要性。他认为,JavaScript 已经成为编程界的通用语言,即使在非 Web 开发领域也发挥着越来越重要的作用。

本书内容从入门到高级,分为四个部分,分别面向不同层次的读者。“入门篇”帮助初学者理解 JavaScript 的运行环境和语言基础;“进阶篇”讲解 JavaScript 的独特语言构造,如函数、对象、类等;“应用篇”涵盖 BOM、DOM 规范和浏览器原生 API;“高级篇”则深入探讨模块、客户端存储、网络请求和安全等高级主题。本书循序渐进的学习路径和丰富的实战案例,能够帮助读者快速将理论知识应用于实际开发中。

怜星夜思:

1、书中提到了 JavaScript 在机器人领域也有应用,这具体是指哪些方面呢?有没有一些实际的例子?
2、对于已经有一定 JavaScript 基础的开发者,阅读本书的最佳方式是什么?应该重点关注哪些章节?
3、除了“红宝书”,还有哪些值得推荐的学习 JavaScript 的资源?

原文内容

在数字化时代的今天,技术革新正以前所未有的速度重塑我们的世界。JavaScript 凭借其在软件开发中的多功能性,已经成为软件开发中的核心语言之一。它在 Web 开发领域占据着不可撼动的地位,并且其影响力已经扩展到了移动应用、桌面应用以及机器人技术等多个领域。

《JavaScript高级程序设计(第5版)》紧跟技术发展的步伐,成为开发者心中不可替代的前端开发权威指南。这本书历经 20 年的沉淀,见证了JavaScript 从兴起到成熟的全过程。它不仅为前端开发者提供了入门指导,也为那些希望提升技能、深入掌握 JavaScript 核心机制的专业人士提供了高阶知识。书中内容从基础到高级全面覆盖,并结合了丰富的实战案例和行业最佳实践,旨在帮助读者将理论知识迅速应用于实际开发中,有效解决各种问题。

本文源自 Roboto 公司创始首席工程师 John Hubberts 为本书所作的序言,总结了他在开发过程中“JS红宝书”是如何影响他的,希望能启发正在学习中的你。

在亚马逊工作的近十年里,我参与了各种项目,包括拍字节规模的客户分析集群、无人机机场、计算机视觉标注工具、开源智能家居规范,甚至还有健身手表固件。这些项目本质上都与客户端网页动态性无关,但每一个项目最终都涉及 JavaScript,无论出于必要还是因为它是完成任务的最佳工具。 

在 15 年甚至 10 年前,一位职业经历类似于我的通才软件工程师可能根本没有理由深入学习 JavaScript,只需了解一些概念即可。但如今 JavaScript 已经确立了自己作为编程世界通用语言的地位。到 2024 年,JavaScript 已连续 12 年成为 GitHub 上使用最多的语言,这还不包括 TypeScript 的贡献。

React Native 让许多职业移动开发者接触到了 JavaScript,而 Electron 则在桌面应用程序开发中扮演 了同样的角色。在 Roboto 的工作使我接触到许多机器人公司,我可以非常有信心地说,甚至有人在用 Node.js 构建机器人。当然,在 Web 开发领域,JavaScript 依然是王者。

JavaScript 不会消失,因此对于任何软件专业人士来说,成为这门语言的专家并深入理解其本质是 一项非常值得的投资。我认识 Matt 将近 20 年,在这段时间里,我没见过其他任何一个工程师能够像他 一样,将自己的智慧不浪费一个字地融入一部近千页篇幅的技术专著中。我第一次见到 Matt 时,他还没有取得现在这些职业成就,比如成为 DoorDash 的首席工程师、出版 多本成功的技术专著、创办自己的公司或者在谷歌负责极大规模且面向公众的项目,那时他只是一个能 够吹响次中音小号、数学很好且爱钻研的少年。

显然,自那时以来发生了很多变化,但有两件事没有变:一是 Matt 天生的好奇心,二是他能向任何愿意听的人解释自己真正理解的事物的能力。他是那种会为了弄清某个极其具体的工作原理而彻夜不眠的工程师,也正是适合写技术书的那种人。与此同时,他作为工程师、工程领导和公司创始人的丰富经验,使他对哪些要点需要强调、哪些细节可以略述有着出色的判断力。 

这本书包含丰富实用的示例和知识小贴士,无论阅读 20 分钟还是20 小时,它都会让你成为更好的 JavaScript 开发者。我从每一版中都汲取了有用的建议,期待你用全新的视角来学习这本书的内容!

John Hubberts

Roboto 公司创始首席工程师

(新书上市,限时99.8元👆)
JavaScript“红宝书”经典重现,第 5 版涵盖 ECMAScript 2024,全面、深入地介绍了 JavaScript 的基础语法和高级特性。书中详尽讨论了JavaScript 的各个方面,从 JavaScript 的起源开始,逐步讲解到最新的技术,重点介绍了 ECMAScript 标准和 DOM 规范,并在此基础上讨论了JavaScript 语言的核心概念, 包括类、期约、迭代器、代理,等等。是前端学习的必读好书。

作译者简介

作者马特·弗里斯比(Matt Frisbie),知名前端技术专家,拥有十多年 Web 开发经验,曾担任独立软件顾问、公司联合创始人和谷歌公司工程师,目前经营自己的咨询业务。在谷歌工作期间,他参与了 AdSense 和 AMP 平台的工作。在此之前,马特是美国 DoorDash 公司的第一位工程师,该公司已成为在线食品配送领域的领导者。马特拥有伊利诺伊大学厄巴纳-香槟分校(UIUC)计算机工程学士学位。除了本书,马特还著有其他几本前端技术图书,涉及浏览器扩展和 Angular 应用开发等。

译者李松峰,前字节跳动/抖音集团前端技术专家、360 前端开发专家,在字节跳动和 360 工作期间,推动这两家公司加入国际标准组织 W3C 和 Ecma,担任公司代表并组织技术专家积极参与 Web 标准制定和技术社区贡献。全程参与字节跳动 2022 年春节项目、百科项目建设,是 360 Web 字体服务“奇字库”作者。他也是“犀牛书”《JavaScript权威指南(第7版)》及很多前端技术图书的译者。目前正在研究 AI 赋能翻译、编程和图书出版。

内容简介

新版全面升级到 ECMAScript 2024,内容逾 800 页,共分为 25 章,为了方便各个层次的读者学习阅读,作者将内容分为“入门篇”“进阶篇”“应用篇”“高级篇”,适应不同读者的需求,并且让学习曲线变得更平滑,读者可以根据自己所处的学习阶段,自行选择对应的章节来学习,是一本极佳的案头书。
新手初学者
如果你是一位 Web 开发的初学者,建议重点阅读“入门篇”,学习目标是快速理解 JavaScript 作为一门编程语言的运行环境和语言基础,为进一步深入学习提供保障。理解和掌握了 JavaScript 语言的基础,也能够轻松地将学习到知识迁移到其他编程语言上。
初级开发者或其他语言开发者
如果你是有一定经验或者学过其他编程语言的开发者,建议重点阅读“入门篇”和“进阶篇”,除了快速理解 JavaScript 的运行环境和语言基础,可以再进一步掌握 JavaScript 内置且独特的语言构造,包括函数、对象、类、迭代器、生成器,以及代理和反射。掌握这两部分的内容,就可以使用 JavaScript 语言去开发真正的 Web 应用了。
中级开发者
如果你是一位中级开发者,掌握了 JavaScript 语言的基础和独特构造,有了相当的编程经验,那可以在复习“入门篇”和“进阶篇”的基础上,把学习重点放在“应用篇”上,也就是理解 BOM、DOM 规范和浏览器原生支持的 JavaScript API,包括表单、事件、动画和 Canvas,以及错误处理和 JSON。深入理解这些内容,可以让你在实际开发中更高效地完成需求调研和模块设计,拥有全面的技术观。
资深开发者
如果你已经是一位 JavaScript 资深开发者,那“应用篇”和“高级篇”应该是阅读的重点。特别是理解模块、客户端存储,以及远程请求网络资源和安全,当然还有工作者线程。跟进这些高级主题,能够让你在架构、算法、性能、稳定性和工程化方向有独到见解,带领团队高效出色地完成项目开发。

新书实拍

我建议根据自己的实际需求选择性阅读。比如对浏览器API比较感兴趣的,可以重点看“应用篇”;想深入学习模块化、异步编程等高级主题的,就重点看“高级篇”。没必要从头到尾全部看完。

我记得看过一些用Johnny-Five这个JavaScript机器人编程框架的项目,可以用来控制Arduino和其他一些硬件。这算是一个比较具体的例子吧,可以控制机器人进行一些简单的交互。

“犀牛书”《JavaScript权威指南》也是一本非常经典的教材,内容更加全面深入,适合想要系统学习JS的开发者。

对于有一定基础的开发者,我觉得可以先快速浏览一下“入门篇”和“进阶篇”,复习一下基础知识,然后重点关注“应用篇”和“高级篇”。这两部分内容更贴近实际开发,也更能提升技能。

MDN Web Docs 是一个非常好的在线学习资源,内容权威可靠,而且更新及时。可以用来查阅JS的API文档、学习新的特性等等。

可以结合目录和索引,查找自己感兴趣的主题进行学习。这样可以更有针对性,也更有效率。而且书中有很多示例代码,可以边看边练习,加深理解。

还可以关注一些优秀的JS博客和社区,比如 freeCodeCamp、JavaScript Weekly 等等,可以了解最新的技术动态、学习最佳实践。

关于JavaScript在机器人领域的应用,我想到的是一些用Node.js做的机器人控制程序,比如控制一些简单的机器人手臂动作、读取传感器数据之类的。虽然可能不是特别复杂的应用,但确实展现了JS的通用性。

除了直接控制机器人,我觉得JS也可以用在机器人相关的Web界面开发上,比如用于监控机器人状态、下达指令等等。这样可以充分利用JS在Web端的优势。