探索 ES6
探索 ES6:升级至 JavaScript 的下一个版本
关于这本书你需要知道的
本书读者: JavaScript 程序员
为什么应该阅读这本书?
如何阅读这本书
术语和约定
补充
脚注
前言
感谢
I 背景
1 关于 ECMAScript 6 ( ES6 )
1.1 TC39 ( Ecma 技术委员会 39 )
1.2 ECMAScript 6 是如何设计的
1.3 JavaScript vs ECMAScript
1.4 升级到 ES6
1.5 ES6 的目标
1.6 ES6 特性概览
1.7 ECMAScript 简史
2 ECMAScript 6 常见问题解答
2.1 当前引擎支持 ES6 情况如何?
2.2 如何将 ECMAScript 5 代码升级至 ECMAScript 6 ?
2.3 现在学习 ECMAScript 5 还有意义吗?
2.4 ES6 臃肿吗?
2.5 ES6 规范文档不是很长吗?
2.6 ES6 包含了数组生成表达式( Array Comprehension )吗?
2.7 ES6 是静态类型的吗?
2.8 应该避免使用类吗?
2.9 ES6 有特性( traits )或者混入( mixins )吗?
2.10 为什么 ES6 有带 => 的箭头函数,而没有带 -> 的箭头函数?
2.11 在哪里可以找到更多的 ES6 资源?
3 一个 JavaScript : 在 ECMAScript 6 中避免版本化
3.1 版本化
3.2 严格模式与 ECMAScript 6
3.3 总结
3.4 深入阅读
4 进入 ECMAScript 6 的第一步
4.1 尝试 ECMAScript 6
4.2 转换工具
4.3 其他有用的 ES6 工具和库
4.4 ES6 交互式解释器( REPLs )
4.5 有 ES6 特性不能转换成 ES5 吗?
4.6 示范转换设置
4.7 示范设置:通过 webpack 和 babel 处理客户端 ES6
4.8 示范设置:通过 Babel 在 Node.js 基础上动态转换 ES6
4.9 示范设置:通过 gulp 和 Babel 在 Node.js 上静态转换 ES6
II 数据
5 新的数值和 Math 特性
5.1 概览
5.2 新的整型字面量
5.3 新的静态 Number 类属性
5.4 Math
5.5 常见问题解答
6 新的字符串特性
6.1 概览
6.2 Unicode 字符解析( Unicode code point escapes )
6.3 字符串插值,多行字符串字面量和原始的字符串字面量
6.4 字符串遍历
6.5 码点的数字值
6.6 检查子串
6.7 重复字符串
6.8 用正则表达式作为参数的字符串方法
6.9 备忘:新的字符串方法
7 Symbol
7.1 概览
7.2 新的原始类型
7.3 使用 Symbol 来表达一些概念
7.4 Symbol 作为属性键
7.5 Symbol 转换成其他原始类型
7.6 JSON 与 Symbol
7.7 Symbol 包装对象
7.8 JSON 与 Symbol
7.9 常见问题
7.10 Symbol API
8 模板字面量和标签化模板
8.1 概览
8.2 介绍
8.3 标签化模板使用示例
8.4 实现标签函数( tag function )
8.5 常见问题的解答
9 变量与作用域
9.1 概览
9.2 通过 let 和 const 实现块级作用域
9.3 const 创建不可变的变量
9.4 暂时性死区( temporal dead zone )
9.5 循环头中的 let 和 const
9.6 参数
9.7 全局对象
9.8 函数声明和类声明
9.9 代码风格:var 还是 let,还是 const
10 解构
10.1 概览
10.2 背景:构造数据(对象和数组字面量)和解构数据
10.3 模式
10.4 模式是如何获取到内部的值的?
10.5 如果有一部分没有匹配上
10.6 更多对象解构特性
10.7 更多数组解构特性
10.8 不仅仅能赋值给变量
10.9 解构的陷阱
10.10 解构示例
10.11 解构算法
11 参数处理
11.1 概览
11.2 参数解构
11.3 默认参数值
11.4 剩余参数( Rest parameters )
11.5 模拟命名参数
11.6 参数解构示例
11.7 编码风格小建议
11.8 扩展操作符(...)
III 模块化
12 ECMAScript 6 中的可调用实体
12.1 ECMAScript 6 中的可调用实体
12.2 风格思考
12.3 ECMAScript 5 和 6 中的传递方法调用消息和直接调用方法
13 箭头函数
13.1 概览
13.2 因为 this ,传统的函数都是糟糕的非方法函数
13.3 箭头函数语法
13.4 词法范围的变量
13.5 语法陷阱
13.6 箭头函数与常规函数对比
14 除类之外的新的面向对象特性
14.1 概览
14.2 新的对象字面量特性
14.3 新的 Object 方法
14.4 ES6 中遍历属性键
14.5 常见问题的解答:对象字面量
15 类
15.1 概览
15.2 要点
15.3 类的细节
15.4 子类的细节
15.5 种模式
15.6 有关类的常见问题解答
15.7 类的优点和缺点
15.8 深入阅读
16 模块
16.1 概览
16.2 JavaScript 中的模块
16.3 ES6 模块初窥
16.4 设计目标
16.5 更多关于引入和导出的知识
16.6 ECMAScript 6 模块加载器 API
16.7 在浏览器中使用 ES6 模块
16.8 关于模块的常见问题解答
16.9 ECMAScript 6 模块的益处
16.10 深入阅读
IV 集合
17 新的数组特性
17.1 数组类方法
17.2 数组原型方法
18 Maps 和 Sets
18.1 概览
18.2 Map
18.3 WeakMap
18.4 Set
18.5 WeakSet
18.6 关于 Maps 和 Sets 的常见问题解答
19 类型数组
20 遍历和遍历器
21 生成器( Generator )
21.1 概览
21.2 什么是生成器?
21.3 用作迭代器的生成器(数据生产)
21.4 用作观察者的生成器(数据消费)
21.5 生成器用作协同程序(多任务协作)
21.6 生成器实例
21.7 基于迭代 API 的继承关系(包含生成器)
21.8 代码风格:空格在星号之前还是之后
21.9 总结
21.10 深入阅读
V 标准库
22 正则表达式
23 异步编程(后台)
23.1 JavaScript 调用堆栈
23.2 浏览器的事件循环
23.3 异步获取结果
23.4 向前看
23.5 深入阅读
24 用于异步编程的 Promise
24.1 概览
24.2 Promise
24.3 第一个例子
24.4 创建和使用 Promise
24.5 例子
24.6 链式的 Promise
24.7 组合
24.8 Promise 总是异步的
24.9 备忘单: ECMAScript 6 Promise API
24.10 Promise 的优缺点
24.11 Promise 和生成器
24.12 调试 Promise
24.13 Promise 内部机制
24.14 两个有用的 Promise 附加方法
24.15 兼容 ES6 的 Promise 库
24.16 与传统异步代码对接
24.17 深入阅读
VI 杂项
25 Unicode
26 尾递归优化
27 用代理实现元编程
27.1 概览
27.2 编程和元编程
27.3 初窥代理( proxy )
27.4 代理使用场景
27.5 代理 API 设计
27.6 参考:代理 API
27.8 深入阅读
28 ECMAScript 6 的编码风格
Powered by
GitBook
9 变量与作用域
9 变量与作用域
本章将介绍在 ECMAScript 6 中如何处理变量与作用域。
results matching "
"
No results matching "
"