主页 详情

《深入理解ES6》_(美)NICHOLASC.ZAKAS著;刘振涛译;贺师俊,张克军,李松峰审校_14288714_9787121317989

【书名】:《深入理解ES6》
【作者】:(美)NICHOLASC.ZAKAS著;刘振涛译;贺师俊,张克军,李松峰审校
【出版社】:北京:电子工业出版社
【时间】:2017
【页数】:372
【ISBN】:9787121317989
【SS码】:14288714

最新查询

内容简介

第1章 块级作用域绑定

var声明及变量提升(Hoisting)机制

块级声明

let声明

禁止重声明

const声明

临时死区(Temporal Dead Zone)

循环中的块作用域绑定

循环中的函数

循环中的let声明

循环中的const声明

全局块作用域绑定

块级绑定最佳实践的进化

小结

第2章 字符串和正则表达式

更好的Unicode支持

UTF-16码位

codePointAt()方法

String.fromCodePoint()方法

normalize()方法

正则表达式u修饰符

其他字符串变更

字符串中的子串识别

repeat()方法

其他正则表达式语法变更

正则表达式y修饰符

正则表达式的复制

flags属性

模板字面量

基础语法

多行字符串

字符串占位符

标签模板

小结

第3章 函数

函数形参的默认值

在ECMAScript 5中模拟默认参数

ECMAScript 6中的默认参数值

默认参数值对arguments对象的影响

默认参数表达式

默认参数的临时死区

处理无命名参数

ECMAScript 5中的无命名参数

不定参数

增强的Function构造函数

展开运算符

name属性

如何选择合适的名称

name属性的特殊情况

明确函数的多重用途

在ECMAScript 5中判断函数被调用的方法

元属性(Metaproperty)new.target

块级函数

块级函数的使用场景

非严格模式下的块级函数

箭头函数

箭头函数语法

创建立即执行函数表达式

箭头函数没有this绑定

箭头函数和数组

箭头函数没有arguments绑定

箭头函数的辨识方法

尾调用优化

ECMAScript 6中的尾调用优化

如何利用尾调用优化

小结

第4章 扩展对象的功能性

对象类别

对象字面量语法扩展

属性初始值的简写

对象方法的简写语法

可计算属性名(Computed Property Name)

新增方法

Object.is()方法

Object.assign()方法

重复的对象字面量属性

自有属性枚举顺序

增强对象原型

改变对象的原型

简化原型访问的Super引用

正式的方法定义

小结

第5章 解构:使数据访问更便捷

为何使用解构功能

对象解构

解构赋值

默认值

为非同名局部变量赋值

嵌套对象解构

数组解构

解构赋值

默认值

嵌套数组解构

不定元素

混合解构

解构参数

必须传值的解构参数

解构参数的默认值

小结

第6章 Symbol和Symbol属性

创建Symbol

Symbol的使用方法

Symbol共享体系

Symbol与类型强制转换

Symbol属性检索

通过well-known Symbol暴露内部操作

Symbol.hasInstance方法

Symbol.isConcatSpreadable属性

Symbol.match、Symbol.replace、Symbol.search和Symbol.split属性

Symbol.toPrimitive方法

Symbol.toStringTag属性

Symbol.unscopables属性

小结

第7章 Set集合与Map集合

ECMAScript 5中的Set集合与Map集合

该解决方案的一些问题

ECMAScript 6中的Set集合

创建Set集合并添加元素

移除元素

Set集合的forEach()方法

将Set集合转换为数组

Weak Set集合

ECMAScript 6中的Map集合

Map集合支持的方法

Map集合的初始化方法

Map集合的forEach()方法

Weak Map集合

小结

第8章 迭代器(Iterator)和生成器(Generator)

循环语句的问题

什么是迭代器

什么是生成器

生成器函数表达式

生成器对象的方法

可迭代对象和for-of循环

访问默认迭代器

创建可迭代对象

内建迭代器

集合对象迭代器

字符串迭代器

NodeList迭代器

展开运算符与非数组可迭代对象

高级迭代器功能

给迭代器传递参数

在迭代器中抛出错误

生成器返回语句

委托生成器

异步任务执行

简单任务执行器

向任务执行器传递数据

异步任务执行器

小结

第9章 JavaScript中的类

ECMAScript 5中的近类结构

类的声明

基本的类声明语法

为何使用类语法

类表达式

基本的类表达式语法

命名类表达式

作为一等公民的类

访问器属性

可计算成员名称

生成器方法

静态成员

继承与派生类

类方法遮蔽

静态成员继承

派生自表达式的类

内建对象的继承

Symbol.species属性

在类的构造函数中使用new.target

小结

第10章 改进的数组功能

创建数组

Array.of()方法

Array.from()方法

为所有数组添加的新方法

find()方法和findIndex()方法

fill()方法

copyWithin()方法

定型数组

数值数据类型

数组缓冲区

通过视图操作数组缓冲区

定型数组与普通数组的相似之处

通用方法

相同的迭代器

of()方法和from()方法

定型数组与普通数组的差别

行为差异

缺失的方法

附加方法

小结

第11章 Promise与异步编程

异步编程的背景知识

事件模型

回调模式

Promise的基础知识

Promise的生命周期

创建未完成的Promise

创建已处理的Promise

执行器错误

全局的Promise拒绝处理

Node.js环境的拒绝处理

浏览器环境的拒绝处理

串联Promise

捕获错误

Promise链的返回值

在Promise链中返回Promise

响应多个Promise

Promise.all()方法

Promise.race()方法

自Promise继承

基于Promise的异步任务执行

小结

第12章 代理(Proxy)和反射(Reflection)API

数组问题

代理和反射

创建一个简单的代理

使用set陷阱验证属性

用get陷阱验证对象结构(Object Shape)

使用has陷阱隐藏已有属性

用deleteProperty陷阱防止删除属性

原型代理陷阱

原型代理陷阱的运行机制

为什么有两组方法

对象可扩展性陷阱

两个基础示例

重复的可扩展性方法

属性描述符陷阱

给Object.defineProperty()添加限制

描述符对象限制

重复的描述符方法

ownKeys陷阱

函数代理中的apply和construct陷阱

验证函数参数

不用new调用构造函数

覆写抽象基类构造函数

可调用的类构造函数

可撤销代理

解决数组问题

检测数组索引

添加新元素时增加length的值

减少length的值来删除元素

实现MyArray类

将代理用作原型

在原型上使用get陷阱

在原型上使用set陷阱

在原型上使用has陷阱

将代理用作类的原型

小结

第13章 用模块封装代码

什么是模块

导出的基本语法

导入的基本语法

导入单个绑定

导入多个绑定

导入整个模块

导入绑定的一个微妙怪异之处

导出和导入时重命名

模块的默认值

导出默认值

导入默认值

重新导出一个绑定

无绑定导入

加载模块

在Web浏览器中使用模块

浏览器模块说明符解析

小结

附录A ECMAScript 6中较小的改动

附录B 了解ECMAScript 7(2016)

索引


书查询(www.shuchaxun.com)本网页唯一编码:
24bbf7b11276b42f2fbbc21a32de2101#59661e883b331d9ea73f4434b98e092e#68686271#14288714.zip