ES6标准入门

《ES6标准入门》是一本开源的 JavaScript 语言教程,全面介绍 es6 新引入的语法特性,并介绍 es6 与 es5 的所有不同之处,对涉及的语法知识给予详细介绍,还给出大量简洁易懂的示例代码


前言

版权许可

第 1 章 ECMAScript 6 简介

1.1 ECMAScript 和 JavaScript 的关系

1.2 ES6 与 ECMAScript 2015 的关系

1.3 ECMAScript 语法提案的批准流程

1.4 ECMAScript 的发展历史

1.5 ECMAScript 的部署进度

1.6 Babel 转码器

1.7 Traceur 转码器

第 2 章 let 和 const 命令

2.1 let 命令

2.2 块级作用域

2.3 const 命令

2.4 顶层对象的属性

2.5 global对象

第 3 章 变量的解构赋值

3.1 数组的解构赋值

3.2 对象的解构赋值

3.3 字符串的解构赋值

3.4 数值和布尔值的解构赋值

3.5 函数参数的解构赋值

3.6 圆括号问题

3.7 解构赋值的用途

第 4 章 字符串的扩展

4.1 字符的 Unicode 表示法

4.2 codePointAt()方法

4.3 String.fromCodePoint()方法

4.4 字符串的遍历器接口

4.5 at()方法

4.6 normalize()方法

4.7 includes(), startsWith(), endsWith()

4.8 repeat()方法

4.9 padStart()方法,padEnd()方法

4.10 模板字符串

4.11 模板编译实例

4.12 标签模板

4.13 String.raw()方法

4.14 模板字符串的限制

第 5 章 正则的扩展

5.1 RegExp 构造函数

5.2 字符串的正则方法

5.3 u 修饰符

5.4 y 修饰符

5.5 sticky 属性

5.6 flags 属性

5.7 s 修饰符:dotAll 模式

5.8 后行断言

5.9 Unicode 属性类

5.10 具名组匹配

第 6 章 数值的扩展

6.1 二进制和八进制表示法

6.2 Number.isFinite(), Number.isNaN()

6.3 Number.parseInt(), Number.parseFloat()

6.4 Number.isInteger()

6.5 Number.EPSILON

6.6 安全整数和 Number.isSafeInteger()

6.7 Math 对象的扩展

6.8 Math.signbit()

6.9 指数运算符

6.10 Integer 数据类型

第 7 章 函数的扩展

7.1 函数参数的默认值

7.2 rest 参数

7.3 严格模式

7.4 name 属性

7.5 箭头函数

7.6 双冒号运算符

7.7 尾调用优化

7.8 函数参数的尾逗号

7.9 catch 语句的参数

第 8 章 数组的扩展

8.1 扩展运算符

8.2 Array.from()方法

8.3 Array.of()方法

8.4 数组实例的copyWithin()方法

8.5 数组实例的find() 和 findIndex()方法

8.6 数组实例的fill()方法

8.7 数组实例的entries(),keys() 和 values()方法

8.8 数组实例的includes()方法

8.9 数组的空位

第 9 章 对象的扩展

9.1 属性的简洁表示法

9.2 属性名表达式

9.3 方法的 name 属性

9.4 Object.is()方法

9.5 Object.assign()方法

9.6 属性的可枚举性和遍历

9.7 Object.getOwnPropertyDescriptors()

9.8 __proto__属性,Object.setPrototypeOf(),Object.getPrototypeOf()

9.9 super 关键字

9.10 Object.keys(),Object.values(),Object.entries()

9.11 对象的扩展运算符

9.12 Null 传导运算符

第 10 章 Symbol

10.1 概述

10.2 作为属性名的 Symbol

10.3 实例:消除魔术字符串

10.4 遍历 Symbol 属性名

10.5 Symbol.for(),Symbol.keyFor()

10.6 实例:模块的 Singleton 模式

10.7 Symbol 的内置属性

第 11 章 Set 和 Map 数据结构

11.1 Set

11.2 WeakSet

11.3 Map

11.4 WeakMap

第 12 章 Proxy

12.1 Proxy 简介

12.2 Proxy 实例的方法

12.3 Proxy.revocable()方法

12.4 Proxy 的 this 问题

12.5 实例:Web 服务的客户端

第 13 章 Reflect对象

13.1 Reflect对象简介

13.2 Reflect对象的静态方法

13.3 实例:使用Proxy实现观察者模式

第 14 章 Promise

14.1 Promise 的含义

14.2 Promise 的基本用法

14.3 Promise.prototype.then()方法

14.4 Promise.prototype.catch()方法

14.5 Promise.all()方法

14.6 Promise.race()方法

14.7 Promise.resolve()方法

14.8 Promise.reject()方法

14.9 Promise.done(),Promise.finally()

14.10 Promise 的应用

14.11 Promise.try()方法

第 15 章 Iterator 和 for...of 循环

15.1 Iterator(迭代器)的概念

15.2 默认的 Iterator 接口

15.3 调用 Iterator 接口的场合

15.4 字符串的 Iterator 接口

15.5 Iterator 接口与 Generator 函数

15.6 迭代器对象的 return(),throw()

15.7 for...of 循环

第 16 章 Generator函数语法

16.1 概述

16.2 next()方法的参数

16.3 for...of循环

16.4 Generator.prototype.throw()方法

16.5 Generator.prototype.return()方法

16.6 next()、throw()、return() 的共同点

16.7 yield表达式

16.8 作为对象属性的Generator函数

16.9 Generator函数的this

16.10 Generator函数的含义

16.11 Generator函数的应用

第 17 章 Generator函数的异步应用

17.1 基本概念

17.2 Generator函数

17.3 Thunk函数

17.4 co模块

第 18 章 async函数

18.1 什么是async函数

18.2 async函数的基本用法

18.3 async函数的语法

18.4 async函数的实现原理

18.5 async函数与其他异步处理方法的比较

18.6 async函数实例:按顺序完成异步操作

18.7 async函数的异步迭代器

第 19 章 Class 的基本语法

19.1 Class简介

19.2 严格模式

19.3 constructor 方法

19.4 Class 的实例对象

19.5 Class 表达式

19.6 Class 不存在变量提升

19.7 Class 的私有方法

19.8 Class 的私有属性

19.9 Class 的 this 指向

19.10 Class 的 name 属性

19.11 Class 的 getter函数和setter函数

19.12 Class 的 Generator函数

19.13 Class 的静态方法

19.14 Class 的静态属性和实例属性

19.15 Class 的 new.target 属性

第 20 章 Class 的继承

20.1 简介

20.2 Object.getPrototypeOf()方法

20.3 super关键字

20.4 prototype 属性和__proto__属性

20.5 原生构造函数的继承

20.6 Mixin 模式的实现

第 21 章 Decorator

21.1 类的修饰器

21.2 方法的修饰器

21.3 为什么修饰器不能用于函数

21.4 core-decorators.js

21.5 使用修饰器实现自动发布事件

21.6 使用修饰器实现Mixin模式

21.7 Trait修饰器

21.8 Babel 转码器对修饰器的支持

第 22 章 模块的语法

22.1 概述

22.2 严格模式

22.3 export 命令

22.4 import 命令

22.5 模块的整体加载

22.6 export default命令

22.7 export与import的复合写法

22.8 模块的继承

22.9 跨模块常量

22.10 import()函数

第 23 章 加载模块

23.1 浏览器加载

23.2 ES6模块与CommonJS模块的差异

23.3 Node加载

23.4 循环加载ES6模块

23.5 ES6模块的转码

第 24 章 ES6编码规范

24.1 块级作用域

24.2 字符串

24.3 解构赋值

24.4 对象

24.5 数组

24.6 函数

24.7 Map结构

24.8 Class

24.9 模块

24.10 使用ESLint

第 25 章 读懂ES6规格

25.1 概述

25.2 相等运算符

25.3 数组的空位

25.4 数组的 map 方法

第 26 章 ArrayBuffer

26.1 概述

26.2 ArrayBuffer对象

26.3 TypedArray视图

26.4 复合视图

26.5 DataView视图

26.6 ArrayBuffer的应用

26.7 SharedArrayBuffer对象

26.8 Atomics对象

第 27 章 ES6 参考手册

第 28 章 ES6 标准入门 PDF 下载

返回顶部 手机访问 关注微信 返回底部

扫码访问歪脖网

随时随地,想看就看

关注歪脖网微信

分享 web 知识、交流 web 经验