在线客服
ES6标准入门(第3版)图书
人气:105

ES6标准入门(第3版)

本书为中级难度,适合那些已经对JavaScript语言有一定了解的读者,可以作为学习这门语言*进展的工具书
  • 所属分类:图书 >计算机/网络>程序设计>其他  
  • 作者:[阮一峰]著
  • 产品参数:
  • 丛书名:--
  • 国际刊号:9787121324758
  • 出版社:电子工业出版社
  • 出版时间:2017-09
  • 印刷时间:2017-08-01
  • 版次:3
  • 开本:16开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装-胶订
  • 套装:

内容简介

ES6是下一代JavaScript语言标准的统称,每年6月一次修订版,迄今为止已经了3个版本,分别是ES2015、ES2016、ES2017。本书根据ES2017标准,详尽介绍了所有新增的语法,对基本概念、设计目的和用法进行了清晰的讲解,给出了大量简单易懂的示例。本书为中级难度,适合那些已经对JavaScript语言有一定了解的读者,可以作为学习这门语言进展的工具书,也可以作为参考手册供大家随时查阅新语法。第3版增加了超过30%的内容,覆盖了ES2017标准,相比第2版介绍了更多的语法点,还调整了原有章节的文字表达,充实了示例,论述更,更易懂易学。

编辑推荐

√ 横跨ES2015/2016/2017新标,抢占JavaScript制高点

√ 由千万级名博、布道引领无数前端入行的阮一峰执笔

√ 来自BAT一线实践,精彩案例透彻解读新标|保留语法

√ 新标首著,凝结多年研究心得,剖析ES理解应用难题

作者简介

阮一峰,博学JavaScript 语言专家,知名技术博客作者,专注于网站开发技术十余年。畅销书《黑客与画家》、《软件随想录》的译者,现就职于蚂蚁金服集团。

目录

目录

第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 配置文件.babelrc 5

1.6.2 命令行转码babel-cli 6

1.6.3 babel-node 7

1.6.4 babel-register 8

1.6.5 babel-core 8

1.6.6 babel-polyfill 9

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 String.raw() 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.EPSILON 88

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 绑定this 123

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.keys()、Object.values()、Object.entries() 169

9.9.1 Object.keys() 169

9.9.2 Object.values() 170

9.9.3 Object.entries 171

9.10 对象的扩展运算符 173

9.11 Object.getOwnPropertyDescriptors() 177

9.12 Null传导运算符 181

第10章 Symbol 183

10.1 概述 183

10.2 作为属性名的Symbol 185

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.hasInstance 194

10.7.2 Symbol.isConcatSpreadable 195

10.7.3 Symbol.species 196

10.7.4 Symbol.match 197

10.7.5 Symbol.replace 197

10.7.6 Symbol.search 198

10.7.7 Symbol.split 198

10.7.8 Symbol.iterator 199

10.7.9 Symbol.toPrimitive 200

10.7.10 Symbol.toStringTag 201

10.7.11 Symbol.unscopables 202

第11章 Set和Map数据结构 205

11.1 Set 205

11.1.1 基本用法 205

11.1.2 Set实例的属性和方法 207

11.1.3 遍历操作 208

11.2 WeakSet 212

11.2.1 含义 212

11.2.2 语法 212

11.3 Map 214

11.3.1 含义和基本用法 214

11.3.2 实例的属性和操作方法 218

11.3.3 遍历方法 220

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

11.4 WeakMap 225

11.4.1 含义 225

11.4.2 WeakMap的语法 227

11.4.3 WeakMap示例 228

11.4.4 WeakMap的用途 229

第12章 Proxy 233

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章 Reflect 259

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 作为对象属1

网友评论(不代表本站观点)

来自无昵称**的评论:

好!好好好好好好

2017-09-15 11:56:22
来自无昵称**的评论:

买买买买买

2017-09-19 09:27:32
来自匿名用**的评论:

还没开始看,应该不错吧,看推荐的比较多。

2017-09-20 16:00:16
来自webdong**的评论:

屋里没人,快递员给书放门口垫子底下走了以后打电话告知。感谢当当,让我能尽早拥有这本书。

2017-09-23 09:58:37
来自无昵称**的评论:

专业,实用,点赞

2017-10-16 10:25:52
来自无昵称**的评论:

奉劝各位不要再来当当买书了,简直是自掘坟墓。买回来书是破的。人工说着说着再也找不到了,图片发不出去…只比jd便宜几块钱。以前买习惯了,从今天起放弃,卸载了。

2017-10-17 22:17:49
来自无昵称**的评论:

很好,很有用

2017-10-30 11:32:48
来自无昵称**的评论:

五本之中有一本是旧的他 其他四本都有那种油纸包装,这本没有。而且前面两页是烂的,可以看图

2017-11-03 15:04:13
来自小肥羊**的评论:

厚,干货多多

2017-11-03 18:20:41
来自阿斯达**的评论:

看过电子版,觉得不错。。

2017-11-06 13:27:52
来自shibuta**的评论:

个人感觉书的排版不怎么样,纸质一般。不是彩色,代码看起来不顺畅。

2016-01-26 09:46:20
来自匿名用**的评论:

书没有塑料外皮,封面很灰,四角有磨碎,略有折印,里面还好

2017-06-08 18:17:50
来自无昵称**的评论:

看到阮大大更新了,表示支持一下。但是排版和纸张真的很差!代码地方无字体区分?!!纸张更是不能忍,用荧光笔一划后面直接透过去了。

2017-09-12 06:55:42
来自无昵称**的评论:

啦啦啦,前天晚上买的第二天就送到了真的快,书嘛,书店哪样就哪样咯

2016-08-26 22:00:54
来自书只看**的评论:

es6先学起来,绝对是未来语言啊。阮老师的作品,看了你那么久的博客,必须支持啊。

2016-01-30 09:38:35
来自无昵称**的评论:

喜欢阮老师,一直看博客来着,书的质量不错,买来学习学习。

2016-11-02 09:46:07
来自不老传**的评论:

电子工业出版社出版的书纸质都偏黄,内容可以

2016-11-09 21:47:41
来自无昵称**的评论:

送给朋友的,他说包装太简陋了,书有稍微压坏,有褶皱

2016-12-12 13:23:52
来自无昵称**的评论:

阮老师精品,必定支持!网上虽然有免费版,但是还是买了纸质的。非常值得,印刷精美,手感棒极了。

2016-11-04 00:18:06
来自匿名用**的评论:

还没看,电子档的粗看了一下,个人更喜欢纸质书籍,顺便支持下作者

2017-06-09 11:20:33
来自无昵称**的评论:

es6必读经典,进阶神器,goooooooood

2017-08-19 18:34:47
来自yovanch**的评论:

有pdf版,但感觉还是实体书比较好,所以就买了一本。印刷很清晰,纸张不像其他书那么白

2017-03-24 19:16:22
来自无昵称**的评论:

说好的第二天到,结果拖延了一天,这也就算了,看看这书角摔得,第一次当当买书,心凉

2017-09-23 13:12:48
来自无昵称**的评论:

虽然阮大神网上开源的教程,但为了表示支持还是买了书。印刷质量很好,值得拥有

2017-08-30 01:33:05
来自无昵称**的评论:

喜见国人自己撰写的好JavaScript最新标准入门书,支持中国本土IT编程书籍!

2017-10-14 11:56:13
来自***(匿**的评论:

物流很快,隔天就到了,书本来就很好,印刷什么的都没有问题,价格还可以,比其他什么东家好太多,最起码不会发脏书给你

2017-06-12 10:39:56
来自无昵称**的评论:

什么都不说 自己看吧 不要在当当买书 太不负责任了

2017-10-27 21:21:30

免责声明

更多出版社