本章可以看作是一个基础章节,主要介绍JavaScript中的一些基础概念和编程技巧。因为Node可以看作是对JavaScript的扩展,所以本章介绍的概念无论是在浏览器JavaScript还是Node中都是通用的。本章内容包括基本类型、数据结构、变量与作用域、函数与函数式编程、类和对象5个部分。
如果读者之前没有接触过JavaScript,那么快速浏览本章后,应该可以使用JavaScript编写一些简单的程序。如果读者之前已经有了JavaScript经验,那么可以跳过本章大部分内容,将重点放在函数部分尤其是高阶函数一节。
本章的介绍仅限于简单的概念,但已经可以涵盖绝大多数平时使用的场景。如果读者需要更加详细的解释或者需要了解某个API的具体用法,建议阅读《JavaScript权威指南》一书或者W3Schools的在线文档。
本章中出现的代码,除非特别标注,都可以保存为单独的*.js文件,使用Node运行;也可以通过<script>标签引入在浏览器中运行。
ECMAScript(以下简称ES)是JavaScript的语言标准,它是一份标注了JavaScript所有特性的文档。表3-1列出了ECMAScript的版本及发布时间。
表3-1 ECMAScript各版本的发布时间
ES6于2015年发布,也被称为ES2015,它是JavaScript标准做出重大更新的一个版本,引入了箭头函数、Promise、class等大量新特性。此后每年ES都会发布一个新版本,称为ES201x,但相比ES6的更新来说幅度比较小,本书将ES6及之后的版本的ES统称为ES6。
很多书把ES6作为独立的一章来介绍,但距离该版本的发布已经过去了五年,无论是主流浏览器(Chrome、Firefox、Edge)还是Node都实现了对ES6绝大部分特性的支持,因此在介绍JavaScript特性时也已经没必要将ES5和ES6割裂开来。