深入理解ES6
全新正版 极速发货
¥
47.25
4.8折
¥
99
全新
库存5件
作者(美)尼古拉斯·泽卡斯|译者:刘振涛
出版社电子工业
ISBN9787121317989
出版时间2017-07
装帧其他
开本其他
定价99元
货号1201531793
上书时间2024-06-04
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
刘振涛,前端工程师;infoQ网站译者,负责重点连载专栏《深入浅出ES6》;长期关注Web开发领域新生,尤其是Ecma*6;爱好摄影、网球,重度信息癖(Infomania)患者。
目录
第1章 块级作用域绑定
var声明及变量提升(Hoisting)机制
块级声明
let声明
禁止重声明
const声明
临时死区(Temporal Dead Zone)
循环中的块作用域绑定
循环中的函数
循环中的let声明
循环中的const声明
全局块作用域绑定
块级绑定佳实践的进化
小结
第2章 字符串和正则表达式
更好的Unicode支持
UTF-16码位
codePointAt()方法
String.fromCodePoint()方法
rmalize()方法
正则表达式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-kwn 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章 中的类
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)
索引
内容摘要
。。。
精彩内容
。。。
— 没有更多了 —
以下为对购买帮助不大的评价