欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 >教程文档 >Js&Ajax > ES6标准入门(第二版)[PDF][5.92MB]

ES6标准入门(第二版)[PDF][5.92MB]

2019-06-13 160 收藏 0 赞一个 0 真差劲 0 去评论 去下载

内容简介

ES6(又名 ES2105)是 JavaScript 语言的新标准,2015 年 6 月正式发布后,得到了迅速推广,是目前业界超级活跃的计算机语言。《ES6标准入门(第2版)》是国内仅有的一本 ES6 教程,在前版基础上增补了大量内容——对标准进行了彻底的解读,所有新增的语法知识(包括即将发布的 ES7)都给予了详细介绍,并且紧扣业界开发实践,给出了大量简洁易懂、可以即学即用的示例代码。

《ES6标准入门(第2版)》为中级难度,适合对 JavaScript 语言或 ES5 已经有所了解的读者,用来提高水平,了解这门语言的*发展;也可当作参考手册,查寻 ES6/ES7 新增的语法点。

目录

第1章 ECMAScript 6简介 001

1.1 ECMAScript和JavaScript的关系 001

1.2 ECMAScript的历史 001

1.3 部署进度 002

1.4 Babel转码器 003

命令行环境 004

浏览器环境 005

Node.js环境 005

在线转换 006

1.5 Traceur转码器 006

直接插入网页 006

在线转换 007

命令行转换 008

Node.js环境的用法 008

1.6 ECMAScript 7 009

第2章 let和const命令 010

2.1 let命令 010

基本用法 010

不存在变量提升 011

暂时性死区 011

不允许重复声明 012

2.2 块级作用域 013

为什么需要块级作用域 013

ES6的块级作用域 013

2.3 const命令 015

2.4 跨模块常量 016

2.5 全局对象的属性 017

第3章 变量的解构赋值 018

3.1 数组的解构赋值 018

基本用法 018

默认值 020

3.2 对象的解构赋值 021

3.3 字符串的解构赋值 024

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

3.5 函数参数的解构赋值 024

3.6 圆括号问题 025

不能使用圆括号的情况 025

可以使用圆括号的情况 026

3.7 用途 026

第4章 字符串的扩展 029

4.1 字符的Unicode表示法 029

4.2 codePointAt() 030

4.3 String.fromCodePoint() 031

4.4 字符串的遍历器接口 031

4.5 at() 032

4.6 normalize() 032

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

4.8 repeat() 033

4.9 padStart(),padEnd() 034

4.10 模板字符串 034

4.11 实例:模板编译 037

4.12 标签模板 038

4.13 String.raw() 042

第5章 正则的扩展 043

5.1 RegExp 构造函数 043

5.2 字符串的正则方法 043

5.3 u 修饰符 043

5.4 y 修饰符 045

5.5 sticky 属性 047

5.6 flags 属性 048

5.7 RegExp.escape() 048

第6章 数值的扩展 049

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

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

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

6.4 Number.isInteger() 051

6.5 Number.EPSILON 051

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

6.7 Math 对象的扩展 054

Math.trunc() 054

Math.sign() 054

Math.cbrt() 055

Math.clz32() 055

Math.imul() 056

Math.fround() 056

Math.hypot() 057

对数方法 057

三角函数方法 058

6.8 指数运算符 058

第7章 数组的扩展 059

7.1 Array.from() 059

7.2 Array.of() 061

7.3 数组实例的copyWithin()062

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

7.5 数组实例的fill()063

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

7.7 数组实例的includes()064

7.8 数组的空位 065

7.9 数组推导 067

第8章 函数的扩展 069

8.1 函数参数的默认值 069

基本用法 069

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

参数默认值的位置 071

函数的length 属性 072

作用域 073

应用 074

8.2 rest 参数 074

8.3 扩展运算符 075

含义 075

替代数组的apply 方法 076

扩展运算符的应用 077

8.4 name 属性 079

8.5 箭头函数 080

基本用法 080

使用注意点 081

嵌套的箭头函数 083

8.6 函数绑定 084

8.7 尾调用优化 085

什么是尾调用 085

尾调用优化 086

尾递归 087

递归函数的改写 088

8.8 函数参数的尾逗号 089

第9章 对象的扩展 090

9.1 属性的简洁表示法 090

9.2 属性名表达式 092

9.3 方法的name 属性 093

9.4 Object.is() 094

9.5 Object.assign() 095

9.6 属性的可枚举性 097

9.7 属性的遍历 098

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

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.byteLength135

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

File API 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

文档截图

QQ截图20190613103333.jpg

ES6标准入门(第二版)[PDF][5.92MB]

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站所有资源(包括模板、素材、软件、字体等)仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论
分享是个好习惯