内容简介
第一部分 起步上路
序
第1章 深入编程
1.1代码
1.2表达式
1.3实践
1.3.1输出
1.3.2输入
1.4运算符
1.5值与类型
1.6代码注释
1.7变量
1.8块
1.9条件判断
1.10循环
1.11函数
1.12实践
1.13小结
第2章 深入JavaScript
2.1值与类型
2.1.1对象
2.1.2内置类型方法
2.1.3值的比较
2.2变量
2.3条件判断
2.4严格模式
2.5作为值的函数
2.5.1立即调用函数表达式
2.5.2闭包
2.6 this标识符
2.7原型
2.8 旧与新
2.8.1 polyfilling
2.8.2 transpiling
2.9非JavaScript
2.10小结
第3章 深入“你不知道的JavaScript”系列
3.1作用域和闭包
3.2 this和对象原型
3.3类型和语法
3.4异步和性能
3.5 ES6及更新版本
3.6小结
第二部分ES6及更新版本
序
第1章ES?现在与未来
1.1版本
1.2 transpiling
1.3小结
第2章 语法
2.1块作用域声明
2.1.1 let声明
2.1.2 const声明
2.1.3块作用域函数
2.2 spread/rest
2.3默认参数值
2.4解构
2.4.1对象属性赋值模式
2.4.2不只是声明
2.4.3重复赋值
2.5太多,太少,刚刚好
2.5.1默认值赋值
2.5.2嵌套解构
2.5.3解构参数
2.6对象字面量扩展
2.6.1简洁属性
2.6.2简洁方法
2.6.3计算属性名
2.6.4设定[[prototype]]
2.6.5 super对象
2.7模板字面量
2.7.1插入表达式
2.7.2标签模板字面量
2.8箭头函数
2.9 for…of循环
2.10正则表达式
2.10.1 Unicode标识
2.10.2定点标识
2.10.3正则表达式f lags
2.11数字字面量扩展
2.12 Unicode
2.12.1支持Unicode的字符串运算
2.12.2字符定位
2.12.3 Unicodc标识符名
2.13符号
2.13.1符号注册
2.13.2作为对象属性的符号
2.14小结
第3章 代码组织
3.1迭代器
3.1.1接口
3.1.2 next()迭代
3.1.3可选的return(…)和throw(…)
3.1.4迭代器循环
3.1.5自定义迭代器
3.1.6迭代器消耗
3.2生成器
3.2.1语法
3.2.2迭代器控制
3.2.3提前完成
3.2.4错误处理
3.2.5 Transpile生成器
3.2.6生成器使用
3.3模块
3.3.1旧方法
3.3.2前进
3.3.3新方法
3.3.4模块依赖环
3.3.5模块加载
3.4类
3.4.1 class
3.4.2 extends和super
3.4.3 new.target
3.4.4 static
3.5小结
第4章 异步流控制
4.1 Promise
4.1.1构造和使用Promise
4.1.2 Thenable
4.1.3 promise API
4.2生成器+Promise
4.3小结
第5章 集合
5.1 TypedArray
5.1.1大小端(Endianness )
5.1.2多视图
5.1.3带类数组构造器
5.2 Map
5.2.1 Map值
5.2.2 M ap键
5.3 WeakMap
5.4 Set
5.5 WeakSet
5.6小结
第6章 新增API
6.1 Array
6.1.1静态函数Array.of(…)
6.1.2静态函数Array.from(…)
6.1.3创建数组和子类型
6.1.4原型方法copywithin(…)
6.1.5原型方法fill(…)
6.1.6原型方法find(…)
6.1.7原型方法findInde×(…)
6.1.8原型方法entries() 、 values() 、 keys()
6.2 Object
6.2.1静态函数Object.is(…)
6.2.2静态函数Object.getOwnpropertySymbols(…)
6.2.3静态函数Object.setprototypeOf(…)
6.2.4静态函数 Object…assign(…)
6.3 Math
6.4 Number
6.4.1静态属性
6.4.2静态函数Number.isNaN(…)
6.4.3静态函数Number.isFinite(…)
6.4.4整型相关静态函数
6.5字符串
6.5.1 Unicode函数
6.5.2静态函数String.raw(…)
6.5.3原型函数repeat(…)
6.5.4字符串检查函数
6.6小结
第7章 元编程
7.1函数名称
7.2元属性
7.3公开符号
7.3.1 Symbol.iterator
7.3.2 Symbol.toStringTag与Symbol.hasInstance
7.3.3 Symbol.species
7.3.4 Symbol.toprimitive
7.3.5正则表达式符号
7.3.6 Symbol.isConcatSpreadable
7.3.7 Symbol.unscopables
7.4代理
7.4.1代理局限性
7.4.2可取消代理
7.4.3使用代理
7.5 Reflect API
7.6特性测试
7.7尾递归调用(Tail Call Optimization,TCO)
7.7.1尾调用重写
7.7.2非TCO优化
7.7.3元在何处
7.8小结
第8章ES6之后
8.1异步函数
8.2 Object.observe(…)
8.2.1自定义改变事件
8.2.2结束观测
8.3幂运算符
8.4对象属性与
8.5 Array#includes(…)
8.6 SIMD
8.7 WebAssembly (WASM)
8.8小结