前言
人们通常认为只有软件产品和服务才具有“特性”。例如,Instagram 和 Twitter 等现代 App 都具有“关注”特性,上传照片也是一个特性。但是,计算机语言也拥有特性,如函数、for
循环和 class
关键字都是计算机语言的特性。
在 JavaScript 中,虽然某些特性借鉴自其他语言,但大多数特性为这门语言所独有。举例来说,this
、class
、const
等特性虽然表面上类似于原始的 C++ 实现,但在许多情况下,它们的用法体现了 JavaScript 的特点。JavaScript 是一门不断进化的语言。在 ECMAScript 6(以下简称 ES6)于 2015 年 6 月发布后,该语言的新特性如“寒武纪大爆发”1 一般,出现了爆发式增长,这彻底改变了 JavaScript 代码的编写方式。尽管 ...rest
语法、...spread
语法、箭头函数、模板字符串、对象解构等新特性在如今的 JavaScript 代码中已经很常见,但在数年之前,就连拥有十多年 JavaScript 编程经验的开发人员也难以接受这些概念。函数式编程迅速受到 JavaScript 社区青睐,针对数组的高阶函数(map
、filter
、reduce
)在多年之后终于得到了普及。
1寒武纪大爆发(Cambrian Explosion),指寒武纪(距今约5亿4200万年到5亿3000万年)地层在其几百万年时间内突然出现的门类众多的无脊椎动物化石。——编者注
JavaScript 是一门多范式语言。它引入了 class
关键字和单独的构造函数,用于替代传统的函数构造器。因此,拥有传统的面向对象编程经验的开发人员可以很快熟悉该语言。ES6 规范催生了一类全新的程序员,他们更尊重这门曾经被用来编写原始 DOM 脚本的语言。由于在浏览器中运行的 JavaScript 引擎(如 Chrome 浏览器的 V8)得到充分发展,JavaScript 不再被看作简单的脚本语言。对于 JavaScript 开发来说,这是一个全新的时代。如今,你经常会在互联网上发现标题类似于“使用 JavaScript 创建机器人”的视频。我们甚至仅使用 JavaScript 就能创建可以在 Windows 10 中运行的桌面应用程序。
JavaScript 的框架和库(如 React 和 Vue)隐藏了一些传统的语言细节。这虽然有助于更快速地创建模块化的应用程序,却通常会让初学者误以为不必理解 JavaScript 的基本语法。本书精心挑选了一些符合自然认知规律的话题,帮助你逐步掌握 JavaScript 的语法,同时本书内容尽量忠实于 JavaScript 规范的动态性。
最后,衷心希望本书能够激励你今后进一步学习更高级的内容。
电子书
扫描如下二维码,即可购买本书电子版。