《JavaScript 二十年》简介:
《JavaScript 二十年》主要讲述了从 1995 年到 2015 年这20年间,JavaScript在创建、设计和演变方面所经历的过程。全书分为4个部分,每个部分都涵盖了 JavaScript 发展和演化的一个主要阶段,其中不仅涉及语言发展的技术细节,还介绍了人们和组织如何在竞争与合作中逐渐塑造JavaScript 语言的故事。
《JavaScript 二十年》适合JavaScript初学者和开发人员阅读和使用,也适合非JavaScript从业者翻阅。
《JavaScript 二十年》目录:
第 1 篇 语言诞生
第 1 章 史前时代 ..................................................................................3
1.1 Brendan Eich 加入网景 ........................................................................4
1.2 Mocha 的故事 ......................................................................................5
第 2 章 JavaScript 1.0 与 1.1................................................................8
2.1 JavaScript 语法 ..................................................................................10
2.2 数据类型与表达式 .............................................................................11
2.3 对象 ...................................................................................................14
2.4 函数对象 ............................................................................................17
2.5 内置库 ...............................................................................................18
2.6 执行模型 ............................................................................................20
2.7 迷惑行为与 bug .................................................................................22
2.7.1 冗余声明 ...............................................................................22
2.7.2 隐式类型转换与 = = 运算符 ..................................................23
2.7.3 32 位算术 ..............................................................................23
2.7.4 this 关键字.............................................................................24
2.7.5 arguments 对象 ......................................................................24
2.7.6 对数值属性键的特殊处理 .....................................................25
2.7.7 原始值的属性 ........................................................................26
2.7.8 JavaScript 中的 HTML 注释 ..................................................26
第 3 章 微软 JScript ...........................................................................28
第 4 章 从 Mocha 到 SpiderMonkey ....................................................30
第 5 章 插曲 :风评被害 ......................................................................35
第 2 篇 创立标准
第 6 章 寻找场地 ................................................................................39
第 7 章 首次 TC39 会议 ......................................................................41
第 8 章 编写规范 ................................................................................45
第 9 章 命名标准 ................................................................................50
第 10 章 ISO 快速通道 .......................................................................52
第 11 章 定义 ECMAScript 3 ..............................................................53
第 12 章 插曲 :JavaScript 不需要 Java ..............................................63
12.1 布道师 .............................................................................................63
12.2 富互联网应用与 AJAX ....................................................................64
12.3 浏览器博弈论 ..................................................................................67
第 3 篇 改革失败
第 13 章 不满于成功 ...........................................................................71
第 14 章 对 ES4 的第一轮尝试 ............................................................72
第 15 章 另一条死路 ...........................................................................78
第 16 章 Flash 与 ActionScript ...........................................................80
第 17 章 对 ES4 的第二轮尝试 ............................................................82
17.1 重置 TC39-TG1 ...............................................................................82
17.2 重新设计 ES4 ..................................................................................83
17.3 阻力 .................................................................................................87
17.4 寻求和谐 ..........................................................................................93
第 18 章 插曲 :认真对待 JavaScript ................................................. 100
18.1 JavaScript 性能革命 .......................................................................100
18.2 CommonJS 和 Node.js ...................................................................101
18.3 成为浏览器通用运行时的 JavaScript.............................................103
第 4 篇 继往开来
第 19 章 开发 ES3.1/ES5 ................................................................. 109
19.1 ES5 技术设计 ................................................................................114
19.1.1 严格模式 ...........................................................................114
19.1.2 Getter、Setter 和对象元操作 .............................................116
19.1.3 对象的完整性与安全性特性 ..............................................122
19.1.4 活动对象(Activation Object)的移除 .............................125
19.1.5 其他 ES5 特性 ...................................................................126
19.2 实现与测试 ....................................................................................127
第 20 章 从 Harmony 到 ECMAScript 2015 ....................................... 130
20.1 开始投入 Harmony ........................................................................130
20.1.1 稻草人(Strawman)与目标 .............................................130
20.1.2 倡导者模型 ........................................................................132
20.1.3 选择特性集 ........................................................................132
20.1.4 开始编写规范 ....................................................................133
20.1.5 One JavaScript ...................................................................134
20.1.6 Brendan 的梦想 .................................................................135
20.2 重新打造规范 ................................................................................138
20.2.1 重组规范结构 ....................................................................139
20.2.2 新的术语 ...........................................................................140
20.2.3 新的语义种类 ....................................................................141
20.3 ES2015 语言特性 ...........................................................................142
20.3.1 Realms、Jobs、Proxies 和元对象编程(MOP) ................142
20.3.2 块级声明作用域 ................................................................147
20.3.3 类 .......................................................................................151
20.3.4 模块 ...................................................................................156
20.3.5 箭头函数 ...........................................................................159
20.3.6 其他特性 ...........................................................................161
20.3.7 延期和被放弃的特性 .........................................................162
20.4 Harmony 转译器 ............................................................................162
20.5 完成 ECMAScript 2015 .................................................................163
第 21 章 总结 ................................................................................... 166
致谢 ................................................................................................... 168
附录 A 登场人物 ............................................................................... 170
附录 B 登场组织 ............................................................................... 175
附录 C 术语表 .................................................................................. 177
附录 D 缩略语和首字母缩写词 .......................................................... 182
附录 E 时间线 .................................................................................. 184
附录 F 1995 年 12 月 4 日的 JavaScript 公告 ..................................... 200
· · · · · ·