包邮 ES6标准入门(第3版)ECMAScript6入门书籍 计算机编程设计

包邮 ES6标准入门(第3版)ECMAScript6入门书籍 计算机编程设计 pdf epub mobi txt 电子书 下载 2025

图书标签:
  • ES6
  • ECMAScript6
  • JavaScript
  • 前端开发
  • 编程入门
  • 计算机书籍
  • 包邮
  • 第3版
  • 入门教程
  • Web开发
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 旷氏文豪图书专营店
出版社: 电子工业出版社
ISBN:9787121324758
商品编码:15895714026
开本:16开
出版时间:2017-09-01
页数:576

具体描述

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

目录

第1章  ECMAScript 6简介1

1.1  ECMAScript和的关系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  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.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.keys()、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  语言的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-decorators.js446

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

.......


用户评价

评分

非常好的书,看了很多遍

评分

很好,正品

评分

非常好的书,看了很多遍

评分

书是没什么问题 ,就是送货慢 送了半个多月

评分

非常好的书,看了很多遍

评分

不错!刚收到!

评分

非常好的书,看了很多遍

评分

非常好的书,看了很多遍

评分

书挺好的

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有