图书介绍
ES6标准入门 第3版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 阮一峰著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121324758
- 出版时间:2017
- 标注页数:547页
- 文件大小:153MB
- 文件页数:565页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
ES6标准入门 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 ECMAScript 6简介1
1.1 ECMAScript和JavaScript的关系1
1.2 ES6与ECMAScript 2015的关系1
1.3 语法提案的批准流程2
1.4 ECMAScript的历史3
1.5 部署进度4
1.6 Babel转码器4
1.6.1 配置文件.babelrc5
1.6.2 命令行转码babel-cli6
1.6.3 babel-node7
1.6.4 babel-register8
1.6.5 babel-core8
1.6.6 babel-polyfill9
1.6.7 浏览器环境10
1.6.8 在线转换10
1.6.9 与其他工具的配合11
1.7 Traceur转码器11
1.7.1 直接插入网页12
1.7.2 在线转换13
1.7.3 命令行转换14
1.7.4 Node环境的用法15
第2章 let和const命令17
2.1 let命令17
2.1.1 基本用法17
2.1.2 不存在变量提升19
2.1.3 暂时性死区19
2.1.4 不允许重复声明21
2.2 块级作用域22
2.2.1 为什么需要块级作用域22
2.2.2 ES6的块级作用域23
2.2.3 块级作用域与函数声明24
2.2.4 do表达式27
2.3 const命令28
2.3.1 基本用法28
2.3.2 本质29
2.3.3 ES6声明变量的6种方法30
2.4 顶层对象的属性30
2.5 global对象31
第3章 变量的解构赋值33
3.1 数组的解构赋值33
3.1.1 基本用法33
3.1.2 默认值35
3.2 对象的解构赋值37
3.3 字符串的解构赋值41
3.4 数值和布尔值的解构赋值41
3.5 函数参数的解构赋值42
3.6 圆括号问题43
3.6.1 不能使用圆括号的情况43
3.6.2 可以使用圆括号的情况44
3.7 用途44
第4章 字符串的扩展49
4.1 字符的Unicode表示法49
4.2 codePointAt()50
4.3 String.fromCodePoint()52
4.4 字符串的遍历器接口52
4.5 at()53
4.6 normalize()53
4.7 includes()、startsWith()、endsWith()54
4.8 repeat()55
4.9 padStart()、padEnd()56
4.10 模板字符串57
4.11 实例:模板编译60
4.12 标签模板62
4.13 Stringraw()67
4.14 模板字符串的限制68
第5章 正则的扩展71
5.1 RegExp构造函数71
5.2 字符串的正则方法72
5.3 u修饰符72
5.4 y修饰符74
5.5 sticky属性77
5.6 flags属性77
5.7 s修饰符:dotAll模式78
5.8 后行断言79
5.9 Unicode属性类80
5.10 具名组匹配81
5.10.1 简介81
5.10.2 解构赋值和替换82
5.10.3 引用83
第6章 数值的扩展85
6.1 二进制和八进制表示法85
6.2 Number.isFinite()、Number.isNaN()86
6.3 Number.parseInt()、Number.parseFloat()87
6.4 Number.isInteger()88
6.5 Number.EPSILON88
6.6 安全整数和Number.isSafeInteger()89
6.7 Math对象的扩展92
6.7.1 Math.trunc()92
6.7.2 Math.sign()92
6.7.3 Math.cbrt()93
6.7.4 Math.clz32()94
6.7.5 Math.imul()95
6.7.6 Math.fround()95
6.7.7 Math.hypot()96
6.7.8 对数方法96
6.7.9 双曲函数方法98
6.8 Math.signbit()98
6.9 指数运算符99
6.10 Integer数据类型99
6.10.1 简介99
6.10.2 运算100
第7章 函数的扩展103
7.1 函数参数的默认值103
7.1.1 基本用法103
7.1.2 与解构赋值默认值结合使用105
7.1.3 参数默认值的位置107
7.1.4 函数的length属性108
7.1.5 作用域108
7.1.6 应用111
7.2 rest参数112
7.3 严格模式113
7.4 name属性115
7.5 箭头函数116
7.5.1 基本用法116
7.5.2 注意事项118
7.5.3 嵌套的箭头函数121
7.6 绑定this123
7.7 尾调用优化124
7.7.1 什么是尾调用124
7.7.2 尾调用优化125
7.7.3 尾递归126
7.7.4 递归函数的改写128
7.7.5 严格模式129
7.7.6 尾递归优化的实现129
7.8 函数参数的尾逗号132
第8章 数组的扩展133
8.1 扩展运算符133
8.1.1 含义133
8.1.2 替代数组的apply方法134
8.1.3 扩展运算符的应用136
8.2 Array.from()139
8.3 Array.of()142
8.4 数组实例的copyWithin()143
8.5 数组实例的find()和findIndex()144
8.6 数组实例的fill()145
8.7 数组实例的entries()、keys()和values()145
8.8 数组实例的includes()146
8.9 数组的空位147
第9章 对象的扩展151
9.1 属性的简洁表示法151
9.2 属性名表达式154
9.3 方法的name属性156
9.4 Object.is()157
9.5 Object.assign()158
9.5.1 基本用法158
9.5.2 注意点160
9.5.3 常见用途161
9.6 属性的可枚举性163
9.7 属性的遍历165
9.8 _proto_属性、Object.setPrototypeOf()、Object.getPrototypeOf()166
9.8.1 _proto_属性166
9.8.2 Object.setPrototypeOf()167
9.8.3 Object.getPrototypeOf()168
9.9 Object.keysO、Object.values()、Object.entries()169
9.9.1 Object.keys()169
9.9.2 Object.values()170
9.9.3 Object.entries171
9.10 对象的扩展运算符173
9.11 Object.getOwnPropertyDescriptors()177
9.12 Null传导运算符181
第10章 Symbol183
10.1 概述183
10.2 作为属性名的Symbol185
10.3 实例:消除魔术字符串188
10.4 属性名的遍历189
10.5 Symbol.for()、Symbol.keyFor()191
10.6 实例:模块的Singleton模式192
10.7 内置的Symbol值194
10.7.1 Symbol.hasInstance194
10.7.2 Symbol.isConcatSpreadable195
10.7.3 Symbol.species196
10.7.4 Symbol.match197
10.7.5 Symbol.replace197
10.7.6 Symbol.search198
10.7.7 Symbol.split198
10.7.8 Symbol.iterator199
10.7.9 Symbol.toPrimitive200
10.7.10 Symbol.toStringTag201
10.7.11 Symbol.unscopables202
第11章 Set和Map数据结构205
11.1 Set205
11.1.1 基本用法205
11.1.2 Set实例的属性和方法207
11.1.3 遍历操作208
11.2 WeakSet212
11.2.1 含义212
11.2.2 语法212
11.3 Map214
11.3.1 含义和基本用法214
11.3.2 实例的属性和操作方法218
11.3.3 遍历方法220
11.3.4 与其他数据结构的互相转换222
11.4 WeakMap225
11.4.1 含义225
11.4.2 WeakMap的语法227
11.4.3 WeakMap示例228
11.4.4 WeakMap的用途229
第12章 Proxy233
12.1 概述233
12.2 Proxy实例的方法237
12.2.1 get()237
12.2.2 set()241
12.2.3 apply()243
12.2.4 has()244
12.2.5 construct()246
12.2.6 deleteProperty()247
12.2.7 defineProperty()248
12.2.8 getOwnPropertyDescriptor()248
12.2.9 getPrototypeOf()249
12.2.10 isExtensible()249
12.2.11 ownKeys()250
12.2.12 preventExtensions()254
12.2.13 setPrototypeOf()255
12.3 Proxy.revocable()255
12.4 this问题256
12.5 实例:Web服务的客户端258
第13章 Reflect259
13.1 概述259
13.2 静态方法261
13.2.1 Reflect.get(target,name,receiver)262
13.2.2 Reflect.set(target,name,value,receiver)263
13.2.3 Reflect.has(obj,name)264
13.2.4 Reflect.deleteProperty(obj,name)265
13.2.5 Reflect.construct(target,args)265
13.2.6 Reflect.getPrototypeOf(obj)265
13.2.7 Reflect.setPrototypeOf(obj,newProto)266
13.2.8 Reflect.apply(func,thisArg,args)267
13.2.9 Reflect.defineProperty(target,propertyKey,attributes)267
13.2.10 Reflect.getOwnPropertyDescriptor(target,propertyKey)268
13.2.11 Reflect.isExtensible(target)268
13.2.12 Reflect.preventExtensions(target)269
13.2.13 Reflect.ownKeys(target)269
13.3 实例:使用Proxy实现观察者模式270
第14章 Promise对象273
14.1 Promise的含义273
14.2 基本用法274
14.3 Promise.prototype.then()278
14.4 Promise.prototype.catch()279
14.5 Promise.all()285
14.6 Promise.race()287
14.7 Promise.resolve()288
14.8 Promise.reject()290
14.9 两个有用的附加方法291
14.9.1 done()291
14.9.2 finally()292
14.10 应用292
14.10.1 加载图片292
14.10.2 Generator函数与Promise的结合293
14.11 Promise.try()294
第15章 Iterator和for...of循环297
15.1 Iterator(遍历器)的概念297
15.2 默认Iterator接口300
15.3 调用Iterator接口的场合305
15.4 字符串的Iterator接口307
15.5 Iterator接口与Generator函数308
15.6 遍历器对象的return()、throw()309
15.7 for...of循环310
15.7.1 数组310
15.7.2 Set和Map结构311
15.7.3 计算生成的数据结构312
15.7.4 类似数组的对象313
15.7.5 对象314
15.7.6 与其他遍历语法的比较315
第16章 Generator函数的语法317
16.1 简介317
16.1.1 基本概念317
16.1.2 yield表达式319
16.1.3 与Iterator接口的关系322
16.2 next方法的参数323
16.3 for...of循环325
16.4 Generator.prototype.throw()328
16.5 Generator.prototype.return()334
16.6 yield*表达式335
16.7 作为对象属性的Generator函数342
16.8 Generator函数this342
16.9 含义345
16.9.1 Generator与状态机345
16.9.2 Generator与协程346
16.10 应用347
16.10.1 异步操作的同步化表达347
16.10.2 控制流管理348
16.10.3 部署Iterator接口351
16.10.4 作为数据结构352
第17章 Generator函数的异步应用355
17.1 传统方法355
17.2 基本概念355
17.2.1 异步355
17.2.2 回调函数356
17.2.3 Promise356
17.3 Generator函数357
17.3.1 协程357
17.3.2 协程的Generator函数实现358
17.3.3 Generator函数的数据交换和错误处理359
17.3.4 异步任务的封装360
17.4 Thunk函数361
17.4.1 参数的求值策略361
17.4.2 Thunk函数的含义362
17.4.3 JavaScript语言的Thunk函数362
17.4.4 Thunkify模块364
17.4.5 Generator函数的流程管理365
17.4.6 Thunk函数的自动流程管理367
17.5 co模块368
17.5.1 基本用法368
17.5.2 co模块的原理369
17.5.3 基于Promise对象的自动执行369
17.5.4 co模块的源码371
17.5.5 处理并发的异步操作372
17.6 实例:处理Stream373
第18章 async函数375
18.1 含义375
18.2 用法377
18.3 语法379
18.3.1 返回Promise对象379
18.3.2 Promise对象的状态变化379
18.3.3 await命令380
18.3.4 错误处理382
18.3.5 使用注意点383
18.4 async函数的实现原理386
18.5 其他异步处理方法的比较387
18.6 实例:按顺序完成异步操作388
18.7 异步遍历器390
18.7.1 异步遍历的接口390
18.7.2 for await...of392
18.7.3 异步Generator函数393
18.7.4 yield*语句398
第19章 Class的基本语法399
19.1 简介399
19.2 严格模式403
19.3 constructor方法403
19.4 类的实例对象404
19.5 Class表达式406
19.6 不存在变量提升407
19.7 私有方法408
19.8 私有属性409
19.9 this的指向410
19.10 name属性412
19.11 Class的取值函数(getter)和存值函数(setter)412
19.12 Class的Generator方法413
19.13 Class的静态方法414
19.14 Class的静态属性和实例属性415
19.14.1 Class的实例属性416
19.14.2 Class的静态属性417
19.15 new.target属性418
第20章 Class的继承421
20.1 简介421
20.2 Object.getPrototypeOf()423
20.3 super关键字423
20.4 类的prototype属性和_proto_属性429
20.4.1 extends的继承目标430
20.4.2 实例的_proto_属性432
20.5 原生构造函数的继承432
20.6 Mixin模式的实现436
第21章 修饰器439
21.1 类的修饰439
21.2 方法的修饰442
21.3 为什么修饰器不能用于函数444
21.4 core-decoratorsjs446
21.5 使用修饰器实现自动发布事件449
21.6 Mixin450
21.7 Trait453
21.8 Babel转码器的支持456
第22章 Module的语法457
22.1 概述457
22.2 严格模式458
22.3 export命令459
22.4 import命令462
22.5 模块的整体加载464
22.6 export default命令465
22.7 export与import的复合写法468
22.8 模块的继承469
22.9 跨模块常量470
22.10 import()471
22.10.1 简介471
22.10.2 适用场合472
22.10.3 注意点473
第23章 Module的加载实现475
23.1 浏览器加载475
23.1.1 传统方法475
23.1.2 加载规则476
23.2 ES6模块与CommonJS模块的差异477
23.3 Node加载481
23.3.1 概述481
23.3.2 import命令加载CommonJS模块482
23.3.3 require命令加载ES6模块484
23.4 循环加载485
23.4.1 CommonJS模块的加载原理485
23.4.2 CommonJS模块的循环加载486
23.4.3 ES6模块的循环加载488
23.5 ES6模块的转码492
23.5.1 ES6 module transpiler492
23.5.2 SystemJS492
第24章 编程风格495
24.1 块级作用域495
24.1.1 let取代var495
24.1.2 全局常量和线程安全496
24.2 字符串497
24.3 解构赋值497
24.4 对象498
24.5 数组500
24.6 函数501
24.7 Map结构503
24.8 Class503
24.9 模块504
24.10 ESLint的使用506
第25章 读懂ECMAScript规格509
25.1 概述509
25.2 相等运算符510
25.3 数组的空位511
25.4 数组的map方法513
第26章 ArrayBuffe r517
26.1 ArrayBuffer对象518
26.1.1 概述518
26.1.2 ArrayBuffer.prototype.byteLength520
26.1.3 ArrayBuffer.prototype.slice()520
26.1.4 ArrayBuffer.isView()520
26.2 TypedArray视图521
26.2.1 概述521
26.2.2 构造函数522
26.2.3 数组方法524
26.2.4 字节序526
26.2.5 BYTES PER ELEMENT属性528
26.2.6 ArrayBuffer与字符串的互相转换528
26.2.7 溢出529
26.2.8 TypedArray.prototype.buffer531
26.2.9 TypedArray.prototype.byteLength、TypedArray.prototype.byteOffset531
26.2.10 TypedArray.prototype.1 ength531
26.2.11 TypedArray.prototype.set()532
26.2.12 TypedArray.prototype.subarray()532
26.2.13 TypedArray.prototype.slice()532
26.2.14 TypedArray.of()533
26.2.15 TypedArray.from()533
26.3 复合视图534
26.4 DataView视图535
26.5 二进制数组的应用537
26.5.1 AJAX537
26.5.2 Canvas538
26.5.3 WebSocket539
26.5.4 Fetch API539
26.5.5 File API539
26.6 SharedArrayBuffer541
26.7 Atomics对象543
热门推荐
- 278968.html
- 2698078.html
- 3817145.html
- 1957912.html
- 539335.html
- 2436336.html
- 1068744.html
- 2372742.html
- 2600867.html
- 2525880.html
- http://www.ickdjs.cc/book_1589391.html
- http://www.ickdjs.cc/book_193493.html
- http://www.ickdjs.cc/book_670446.html
- http://www.ickdjs.cc/book_1597792.html
- http://www.ickdjs.cc/book_2027392.html
- http://www.ickdjs.cc/book_3146755.html
- http://www.ickdjs.cc/book_1264002.html
- http://www.ickdjs.cc/book_3413327.html
- http://www.ickdjs.cc/book_776846.html
- http://www.ickdjs.cc/book_2980539.html