前言

前言

人们通常认为只有软件产品和服务才具有“特性”。例如,Instagram 和 Twitter 等现代 App 都具有“关注”特性,上传照片也是一个特性。但是,计算机语言也拥有特性,如函数、for 循环和 class 关键字都是计算机语言的特性。

在 JavaScript 中,虽然某些特性借鉴自其他语言,但大多数特性为这门语言所独有。举例来说,thisclassconst 等特性虽然表面上类似于原始的 C++ 实现,但在许多情况下,它们的用法体现了 JavaScript 的特点。JavaScript 是一门不断进化的语言。在 ECMAScript 6(以下简称 ES6)于 2015 年 6 月发布后,该语言的新特性如“寒武纪大爆发”1 一般,出现了爆发式增长,这彻底改变了 JavaScript 代码的编写方式。尽管 ...rest 语法、...spread 语法、箭头函数、模板字符串、对象解构等新特性在如今的 JavaScript 代码中已经很常见,但在数年之前,就连拥有十多年 JavaScript 编程经验的开发人员也难以接受这些概念。函数式编程迅速受到 JavaScript 社区青睐,针对数组的高阶函数(mapfilterreduce)在多年之后终于得到了普及。

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 规范的动态性。

最后,衷心希望本书能够激励你今后进一步学习更高级的内容。

电子书

扫描如下二维码,即可购买本书电子版。

目录

  • 版权声明
  • 前言
  • 第 1 章 讲述形式
  • 第 2 章 Chrome 控制台
  • 第 3 章 欢迎使用 JavaScript
  • 第 4 章 语句
  • 第 5 章 基本类型
  • 第 6 章 强制类型转换
  • 第 7 章 作用域
  • 第 8 章 运算符
  • 第 9 章 ...rest 和 ...spread
  • 第 10 章 闭包
  • 第 11 章 循环
  • 第 12 章 数组和字符串
  • 第 13 章 函数
  • 第 14 章 高阶函数
  • 第 15 章 箭头函数
  • 第 16 章 动态创建 HTML 元素
  • 第 17 章 原型
  • 第 18 章 面向对象编程
  • 第 19 章 事件
  • 第 20 章 网络请求
  • 第 21 章 事件循环
  • 第 22 章 调用栈
  • 作者简介