JavaScript 是一门包含多种语言特性的混合范型语言,在面向对象和函数式语言特性方面表现尤为突出,且在 ES6 之后所添加的并行语言特性也极为出色。本书基于 ES6,并涵盖*的 ES2019 规范,全面讲述 JavaScript 在五个方面的语言特性,以及将这些特性融会如一的方法。本书不但完整解析了 JavaScript 语言,还逐一剖析了相关特性在多个开源项目中的编程实践与应用,是难得的语言学习参考书。本书作者在前端开发领域经验丰富、深耕不辍,一书三版,历经十余年。书中对 JavaScript 语言的理解与展望,尤其适合期望精通这门语言的中高级程序员和语言实践者阅读。
作者简介
推荐序1 一本不是所有人都需要的好书
注释
推荐序2 写给优秀程序员的一本书
推荐序3
第3版代序 什么叫“会编程” 《程序原本》节选
注释
第2版代序 要有光 《世界需要一种什么样的语言》节选
第1版代序 学两种语言 《我的程序语言实践》节选
前言
注释
CHAPTER 第1章 二十年来的JavaScript
1.1 网页中的代码
1.2 用JavaScript来写浏览器上的应用
1.3 没有框架与库的语言能怎样发展呢
1.4 语言的进化
1.5 大型系统开发
1.6 为JavaScript正名
1.7 JavaScript的应用环境
注释
CHAPTER 第2章 JavaScript的语法
2.1 语法综述
2.2 JavaScript的语法:声明
2.3 JavaScript的语法:表达式运算
2.4 JavaScript的语法:语句
2.5 JavaScript的语法:模块
2.6 严格模式下的语法限制
2.7 运算符的二义性
注释
CHAPTER 第3章 JavaScript的面向对象语言特性
3.1 面向对象编程的语法概要
3.2 JavaScript的原型继承
3.3 JavaScript的类继承
3.4 JavaScript的对象系统
3.5 可定制的对象属性
3.6 运行期侵入与元编程系统
注释
CHAPTER 第4章 JavaScript语言的结构化
4.1 概述
4.2 基本的组织元素
4.3 声明
4.4 语句与代码分块
4.5 组织形式分块的方法
4.6 层次结构程序设计
4.7 历史遗产:变量作用域
4.8 私有属性与私有字段的纷争
注释
CHAPTER 第5章 JavaScript的函数式语言特性
5.1 概述
5.2 从运算式语言到函数式语言
5.3 JavaScript中的函数
5.4 函数的行为
5.5 闭包
注释
CHAPTER 第6章 JavaScript的动态语言特性
6.1 概述
6.2 动态类型:对象与值类型之间的转换
6.3 动态类型:值类型的转换
6.4 动态类型:对象与数组的动态特性
6.5 重写
6.6 动态执行
6.7 动态方法调用(call、apply与bind)
6.8 通用执行环境的实现
注释
CHAPTER 第7章 JavaScript的并行语言特性
7.1 概述
7.2 Promise的核心机制
7.3 与其他语言特性的交集
7.4 JavaScript中对并发的支持
7.5 在分布式网络环境中的并行执行
注释
APPENDIX附录A 术语表
注释
APPENDIX附录B 参考书目
APPENDIX附录C 图表索引
APPENDIX附录D 本书各版次主要修改

