当前位置:首页 > 工业技术
ES6标准入门
ES6标准入门

ES6标准入门PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:阮一峰著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2015
  • ISBN:9787121276576
  • 页数:319 页
图书介绍:本书全面介绍了ECMAScript 6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。新版升级增加了大量对正式版本新特性的描述及实战示例。
《ES6标准入门》目录
标签:入门 标准

第1章 ECMAScript 6简介 1

1.1 ECMAScript和JavaScript的关系 1

1.2 ECMAScript的历史 1

1.3 部署进度 2

1.4 Babel转码器 3

命令行环境 4

浏览器环境 5

Node.js环境 5

在线转换 6

1.5 Traceur转码器 6

直接插入网页 6

在线转换 7

命令行转换 8

Node.js环境的用法 8

1.6 ECMAScript 7 9

第2章 let和const命令 10

2.1 let命令 10

基本用法 10

不存在变量提升 11

暂时性死区 11

不允许重复声明 12

2.2 块级作用域 13

为什么需要块级作用域 13

ES6的块级作用域 13

2.3 const命令 15

2.4 跨模块常量 16

2.5 全局对象的属性 17

第3章 变量的解构赋值 18

3.1 数组的解构赋值 18

基本用法 18

默认值 20

3.2 对象的解构赋值 21

3.3 字符串的解构赋值 24

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

3.5 函数参数的解构赋值 24

3.6 圆括号问题 25

不能使用圆括号的情况 25

可以使用圆括号的情况 26

3.7 用途 26

第4章 字符串的扩展 29

4.1 字符的Unicode表示法 29

4.2 codePointAt() 30

4.3 String.fromCodePoint() 31

4.4 字符串的遍历器接口 31

4.5 at() 32

4.6 normalize() 32

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

4.8 repeat() 33

4.9 padStart(),padEnd() 34

4.10 模板字符串 34

4.11 实例:模板编译 37

4.12 标签模板 38

4.13 String.raw() 42

第5章 正则的扩展 43

5.1 RegExp构造函数 43

5.2 字符串的正则方法 43

5.3 u修饰符 43

5.4 y修饰符 45

5.5 sticky属性 47

5.6 flags属性 48

5.7 RegExp.escape() 48

第6章 数值的扩展 49

6.1 二进制和八进制数值表示法 49

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

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

6.4 Number.isInteger() 51

6.5 Number.EPSILON 51

6.6 安全整数和Number.isSafeInteger() 52

6.7 Math对象的扩展 54

Math.trunc() 54

Math.sign() 54

Math.cbrt() 55

Math.clz32() 55

Math.imul() 56

Math.fround() 56

Math.hypot() 57

对数方法 57

三角函数方法 58

6.8 指数运算符 58

第7章 数组的扩展 59

7.1 Array.from() 59

7.2 Array.of() 61

7.3 数组实例的copyWithin() 62

7.4 数组实例的find()和findIndex() 63

7.5 数组实例的fill() 63

7.6 数组实例的entries()、keys()和values() 64

7.7 数组实例的includes() 64

7.8 数组的空位 65

7.9 数组推导 67

第8章 函数的扩展 69

8.1 函数参数的默认值 69

基本用法 69

与解构赋值默认值结合使用 70

参数默认值的位置 71

函数的length属性 72

作用域 73

应用 74

8.2 rest参数 74

8.3 扩展运算符 75

含义 75

替代数组的apply方法 76

扩展运算符的应用 77

8.4 name属性 79

8.5 箭头函数 80

基本用法 80

使用注意点 81

嵌套的箭头函数 83

8.6 函数绑定 84

8.7 尾调用优化 85

什么是尾调用 85

尾调用优化 86

尾递归 87

递归函数的改写 88

8.8 函数参数的尾逗号 89

第9章 对象的扩展 90

9.1 属性的简洁表示法 90

9.2 属性名表达式 92

9.3 方法的name属性 93

9.4 Object.is() 94

9.5 Object.assign() 95

9.6 属性的可枚举性 97

9.7 属性的遍历 98

9.8 __proto___属性, Object.setPrototypeOf(),Object.getPrototypeOf() 99

9.9 对象的扩展运算符 101

第10章 Symbol 103

10.1 概述 103

10.2 作为属性名的Symbol 105

10.3 实例:消除魔术字符串 106

10.4 属性名的遍历 107

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

10.6 内置的Symbol值 110

Symbol.hasInstance 110

Symbol.isConcatSpreadable 110

Symbol.species 111

Symbol.match 111

Symbol.replace 112

Symbol.search 112

Symbol.split 112

Symbol.iterator 112

Symbol.toPrimitive 113

Symbol.toStringTag 113

Symbol.unscopables 114

第11章 Proxy和Reflect 116

11.1 Proxy概述 116

11.2 Proxy实例的方法 119

get() 119

set() 121

apply() 122

has() 123

construct() 123

deleteProperty() 124

defineProperty() 125

enumerate() 125

getOwnPropertyDescriptor() 126

getPrototypeOf() 126

isExtensible() 127

ownKeys() 127

preventExtensions() 128

setPrototypeOf() 128

11.3 Proxy.revocable() 129

11.4 Reflect概述 129

11.5 Reflect对象的方法 130

第12章 二进制数组 133

12.1 ArrayBuffer对象 134

概述 134

ArrayBuffer.prototype.byteLength 135

ArrayBuffer.prototype.slice() 135

ArrayBuffer.isView() 136

12.2 TypedArray视图 136

概述 136

构造函数 136

数组方法 138

字节序 140

BYTES_PER_ELEMENT属性 141

ArrayBuffer与字符串的互相转换 142

溢出 142

TypedArray.prototype.buffer 143

TypedArray.prototype.byteLength,TypedArray.prototype.byteOffset 143

TypedArray.prototype.length 143

TypedArray.prototype.set() 144

TypedArray.prototype.subarray() 144

TypedArray.prototype.slice() 144

TypedArray.of() 144

TypedArray.from() 145

12.3 复合视图 145

12.4 DataView视图 146

12.5 二进制数组的应用 148

AJAX 148

Canvas 148

WebSocket 149

Fetch API 149

FileAPI 149

第13章 Set和Map数据结构 151

13.1 Set 151

基本用法 151

Set实例的属性和方法 152

遍历操作 153

13.2 WeakSet 155

13.3 Map 157

Map结构的目的和基本用法 157

实例的属性和操作方法 159

遍历方法 160

与其他数据结构的互相转换 162

13.4 WeakMap 164

第14章 Iterator和for...of循环 166

14.1 Iterator的概念 166

14.2 数据结构的默认Iterator接口 168

14.3 调用Iterator接口的场合 172

14.4 字符串的Iterator接口 173

14.5 Iterator接口与Generator函数 174

14.6 遍历器对象的return()、throw() 175

14.7 for...of循环 175

数组 175

Set和Map结构 177

计算生成的数据结构 177

类似数组的对象 178

对象 179

与其他遍历语法的比较 180

第15章 Generator函数 181

15.1 简介 181

基本概念 181

yield语句 182

与Iterator接口的关系 184

15.2 next方法的参数 185

15.3 for...of循环 187

15.4 Generator.prototype.throw() 189

15.5 Generator.prototype.return() 193

15.6 yield*语句 194

15.7 作为对象属性的Generator函数 199

15.8 Generator函数的this 200

15.9 Generator函数推导 201

15.10 含义 202

Generator与状态机 202

Generator与协程 202

15.11 应用 203

第16章 Promise对象 208

16.1 Promise的含义 208

16.2 基本用法 208

16.3 Promise.prototype.then() 211

16.4 Promise.prototype.catch() 212

16.5 Promise.all() 215

16.6 Promise.race() 216

16.7 Promise.resolve() 216

16.8 Promise.reject() 217

16.9 两个有用的附加方法 218

done() 218

finally() 218

16.10 应用 219

加载图片 219

Generator函数与Promise的结合 219

16.11 async函数 220

第17章 异步操作和async函数 221

17.1 基本概念 221

异步 221

回调函数 221

Promise 222

17.2 Generator函数 223

协程 223

Generator函数的概念 223

Generator函数的数据交换和错误处理 224

异步任务的封装 224

17.3 Thunk函数 225

参数的求值策略 225

Thunk函数的含义 226

JavaScript语言的Thunk函数 226

Thunkify模块 227

Generator函数的流程管理 228

Thunk函数的自动流程管理 229

17.4 co模块 230

基本用法 230

co模块的原理 230

基于Promise对象的自动执行 231

co模块的源码 232

处理并发的异步操作 233

17.5 async函数 234

含义 234

async函数的实现 235

async函数的用法 236

注意点 236

与Promise、Generator的比较 238

第18章 Class 240

18.1 Class基本语法 240

概述 240

constructor方法 243

实例对象 243

name属性 244

Class表达式 245

不存在变量提升 245

严格模式 246

18.2 Class的继承 246

基本用法 246

类的prototype属性和__proto___属性 247

extends的继承目标 248

Object.getPrototypeOf() 249

super关键字 249

实例的___proto___属性 250

18.3 原生构造函数的继承 250

18.4 Class的取值函数(getter)和存值函数(setter) 253

18.5 Class的Generator方法 254

18.6 Class的静态方法 254

18.7 Class的静态属性 255

18.8 new.target属性 256

18.9 Mixin模式的实现 258

第19章 修饰器 259

19.1 类的修饰 259

19.2 方法的修饰 261

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

19.4 core-decorators.js 263

@autobind 263

@readonly 263

@override 263

@deprecate(别名@deprecated) 264

@suppressWarnings 265

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

19.6 Mixin 266

19.7 Trait 267

19.8 Babel转码器的支持 269

第20章 Module 270

20.1 严格模式 271

20.2 export命令 271

20.3 import命令 272

20.4 模块的整体加载 273

20.5 module命令 274

20.6 export default命令 274

20.7 模块的继承 276

20.8 ES6模块加载的实质 277

20.9 循环加载 278

CommonJS模块的加载原理 279

CommonJS模块的循环加载 279

ES6模块的循环加载 280

20.10 ES6模块的转码 282

ES6 module transpiler 282

SystemJS 282

第21章 编程风格 284

21.1 块级作用域 284

let取代var 284

全局常量和线程安全 285

严格模式 285

21.2 字符串 285

21.3 解构赋值 285

21.4 对象 286

21.5 数组 288

21.6 函数 288

21.7 Map结构 289

21.8 Class 290

21.9 模块 291

21.10 ESLint的使用 292

第22章 读懂ECMAScript规格 293

22.1 概述 293

22.2 相等运算符 293

22.3 数组的空位 295

22.4 数组的map方法 296

第23章 参考链接 299

23.1 官方文件 299

23.2 综合介绍 299

23.3 let和const 302

23.4 解构赋值 302

23.5 字符串 303

23.6 正则 304

23.7 数值 304

23.8 数组 304

23.9 函数 305

23.10 对象 306

23.11 Proxy和Reflect 306

23.12 Symbol 308

23.13 二进制数组 308

23.14 Set和Map 309

23.15 Iterator 310

23.16 Generator 311

23.17 Promise对象 312

23.18 Class 314

23.19 Decorator 314

23.20 Module 315

23.21 工具 316

返回顶部