ES6标准入门(第2版)

ES6标准入门(第2版)

作者:阮一峰

出版社:电子工业

出版年:2016年1月

ISBN:9787121276576

所属分类:网络科技

书刊介绍

《ES6标准入门(第2版)》内容简介

ES6(又名ES2105)是JavaScript语言的新标准,2015年6月正式发布后,得到了迅速推广,是目前业界超级活跃的计算机语言。《ES6标准入门(第2版)》是国内仅有的一本ES6教程,在前版基础上增补了大量内容——对标准进行了彻底的解读,所有新增的语法知识(包括即将发布的ES7)都给予了详细介绍,并且紧扣业界开发实践,给出了大量简洁易懂、可以即学即用的示例代码。
《ES6标准入门(第2版)》为中级难度,适合对JavaScript语言或ES5已经有所了解的读者,用来提高水平,了解这门语言的最新发展;也可当作参考手册,查寻ES6/ES7新增的语法点。
阮一峰:著名技术博客作者,JavaScript专家。专注于网站开发技术,超过十年。畅销书《黑客与画家》《软件随想录》的译者。

作品目录

推荐序1、推荐序2、推荐序3、前言
第1章:ECMAScript
6简介
1.1、ECMAScript和JavaScript的关系
1.2、ECMAScript的历史
1.3、部署进度
1.4、Babel转码器
命令行环境
浏览器环境
Node.js环境
在线转换
1.5、Traceur转码器
直接插入网页
在线转换
命令行转换
Node.js环境的用法
1.6、ECMAScript
7、第2章:let和const命令
2.1、let命令
基本用法
不存在变量提升
暂时性死区
不允许重复声明
2.2、块级作用域
为什么需要块级作用域
ES6的块级作用域
2.3、const命令
2.4、跨模块常量
2.5、全局对象的属性
第3章:变量的解构赋值
3.1、数组的解构赋值
基本用法
默认值
3.2、对象的解构赋值
3.3、字符串的解构赋值
3.4、数值和布尔值的解构赋值
3.5、函数参数的解构赋值
3.6、圆括号问题
不能使用圆括号的情况
可以使用圆括号的情况
3.7、用途
第4章:字符串的扩展
4.1、字符的Unicode表示法
4.2、codePointAt()
4.3、String.fromCodePoint()
4.4、字符串的遍历器接口
4.5、at()
4.6、normalize()
4.7、includes(),startsWith(),endsWith()
4.8、repeat()
4.9、padStart(),padEnd()
4.10、模板字符串
4.11、实例:模板编译
4.12、标签模板
4.13、String.raw()
第5章:正则的扩展
5.1、RegExp构造函数
5.2、字符串的正则方法
5.3、u修饰符
5.4、y修饰符
5.5、sticky属性
5.6、flags属性
5.7、RegExp.escape()
第6章:数值的扩展
6.1、二进制和八进制数值表示法
6.2、Number.isFinite(),Number.isNaN()
6.3、Number.parseInt(),Number.parseFloat()
6.4、Number.isInteger()
6.5、Number.EPSILON
6.6、安全整数和Number.isSafeInteger()
6.7、Math对象的扩展
Math.trunc()
Math.sign()
Math.cbrt()
Math.clz32()
Math.imul()
Math.fround()
Math.hypot()
对数方法
三角函数方法
6.8、指数运算符
第7章:数组的扩展
7.1、Array.from()
7.2、Array.of()
7.3、数组实例的copyWithin()
7.4、数组实例的find()和findIndex()
7.5、数组实例的fill()
7.6、数组实例的entries()、keys()和values()
7.7、数组实例的includes()
7.8、数组的空位
7.9、数组推导
第8章:函数的扩展
8.1、函数参数的默认值
基本用法
与解构赋值默认值结合使用
参数默认值的位置
函数的length属性
作用域
应用
8.2、rest参数
8.3、扩展运算符
含义
替代数组的apply方法
扩展运算符的应用
8.4、name属性
8.5、箭头函数
基本用法
使用注意点
嵌套的箭头函数
8.6、函数绑定
8.7、尾调用优化
什么是尾调用
尾调用优化
尾递归
递归函数的改写
8.8、函数参数的尾逗号
第9章:对象的扩展
9.1、属性的简洁表示法
9.2、属性名表达式
9.3、方法的name属性
9.4、Object.is()
9.5、Object.assign()
9.6、属性的可枚举性
9.7、属性的遍历
9.8、__proto__属性,Object.setPrototypeOf(),Object.getPrototypeOf()
9.9、对象的扩展运算符
第10章:Symbol
10.1、概述
10.2、作为属性名的Symbol
10.3、实例:消除魔术字符串
10.4、属性名的遍历
10.5、Symbol.for(),Symbol.keyFor()
10.6、内置的Symbol值
Symbol.hasInstance
Symbol.isConcatSpreadable
Symbol.species
Symbol.match
Symbol.replace
Symbol.search
Symbol.split
Symbol.iterator
Symbol.toPrimitive
Symbol.toStringTag
Symbol.unscopables
第11章:Proxy和Reflect
11.1、Proxy概述
11.2、Proxy实例的方法
get()
set()
apply()
has()
construct()
deleteProperty()
defineProperty()
enumerate()
getOwnPropertyDescriptor()
getPrototypeOf()
isExtensible()
ownKeys()
preventExtensions()
setPrototypeOf()
11.3、Proxy.revocable()
11.4、Reflect概述
11.5、Reflect对象的方法
第12章:二进制数组
12.1、ArrayBuffer对象
ArrayBuffer.prototype.byteLength
ArrayBuffer.prototype.slice()
ArrayBuffer.isView()
12.2、TypedArray视图
概述
构造函数
数组方法
字节序
BYTES_PER_ELEMENT属性
ArrayBuffer与字符串的互相转换
溢出
TypedArray.prototype.buffer
TypedArray.prototype.byteLength,TypedArray.prototype.byteOffset
TypedArray.prototype.length
TypedArray.prototype.set()
TypedArray.prototype.subarray()
TypedArray.prototype.slice()
TypedArray.of()
TypedArray.from()
12.3、复合视图
12.4、DataView视图
12.5、二进制数组的应用
AJAX
Canvas
WebSocket
Fetch
API
File
API
第13章:Set和Map数据结构
13.1、Set
基本用法
Set实例的属性和方法
遍历操作
13.2、WeakSet
13.3、Map
Map结构的目的和基本用法
实例的属性和操作方法
遍历方法
与其他数据结构的互相转换
13.4、WeakMap
第14章:Iterator和for...of循环
14.1、Iterator的概念
14.2、数据结构的默认Iterator接口
14.3、调用Iterator接口的场合
14.4、字符串的Iterator接口
14.5、Iterator接口与Generator函数
14.6、遍历器对象的return()、throw()
14.7、for...of循环
数组
Set和Map结构
计算生成的数据结构
类似数组的对象
对象
与其他遍历语法的比较
第15章:Generator函数
15.1、简介
基本概念
yield语句
与Iterator接口的关系
15.2、next方法的参数
15.3、for...of循环
15.4、Generator.prototype.throw()
15.5、Generator.prototype.return()
15.6、yield*语句
15.7、作为对象属性的Generator函数
15.8、Generator函数的this
15.9、Generator函数推导
15.10、含义
Generator与状态机
Generator与协程
15.11、应用
第16章:Promise对象
16.1、Promise的含义
16.2、基本用法
16.3、Promise.prototype.then()
16.4、Promise.prototype.catch()
16.5、Promise.all()
16.6、Promise.race()
16.7、Promise.resolve()
16.8、Promise.reject()
16.9、两个有用的附加方法
done()
finally()
16.10、应用
加载图片
Generator函数与Promise的结合
16.11、async函数
第17章:异步操作和async函数
17.1、基本概念
异步
回调函数
Promise
17.2、Generator函数
协程
Generator函数的概念
Generator函数的数据交换和错误处理
异步任务的封装
17.3、Thunk函数
参数的求值策略
Thunk函数的含义
JavaScript语言的Thunk函数
Thunkify模块
Generator函数的流程管理
Thunk函数的自动流程管理
17.4、co模块
基本用法
co模块的原理
基于Promise对象的自动执行
co模块的源码
处理并发的异步操作
17.5、async函数
含义
async函数的实现
async函数的用法
注意点
与Promise、Generator的比较
第18章:Class
18.1、Class基本语法
概述
constructor方法
实例对象
name属性
Class表达式
不存在变量提升
严格模式
18.2、Class的继承
基本用法
类的prototype属性和__proto__属性
extends的继承目标
Object.getPrototypeOf()
super关键字
实例的__proto__属性
18.3、原生构造函数的继承
18.4、Class的取值函数(getter)和存值函数(setter)
18.5、Class的Generator方法
18.6、Class的静态方法
18.7、Class的静态属性
18.8、new.target属性
18.9、Mixin模式的实现
第19章:修饰器
19.1、类的修饰
19.2、方法的修饰
19.3、为什么修饰器不能用于函数
19.4、core-decorators.js
@autobind
@readonly
@override
@deprecate(别名@deprecated)
@suppressWarnings
19.5、使用修饰器实现自动发布事件
19.6、Mixin
19.7、Trait
19.8、Babel转码器的支持
第20章:Module
20.1、严格模式
20.2、export命令
20.3、import命令
20.4、模块的整体加载
20.5、module命令
20.6、export
default命令
20.7、模块的继承
20.8、ES6模块加载的实质
20.9、循环加载
CommonJS模块的加载原理
CommonJS模块的循环加载
ES6模块的循环加载
20.10、ES6模块的转码
ES6、module
transpiler
SystemJS
第21章:编程风格
21.1、块级作用域
let取代var
全局常量和线程安全
严格模式
21.2、字符串
21.3、解构赋值
21.4、对象
21.5、数组
21.6、函数
21.7、Map结构
21.8、Class
21.9、模块
21.10、ESLint的使用
第22章:读懂ECMAScript规格
22.1、概述
22.2、相等运算符
22.3、数组的空位
22.4、数组的map方法
第23章:参考链接
23.1、官方文件
23.2、综合介绍
23.3、let和const
23.4、解构赋值
23.5、字符串
23.6、正则
23.7、数值
23.8、数组
23.9、函数
23.10、对象
23.11、Proxy和Reectt
23.12、Symbol
23.13、二进制数组
23.14、Set和Map
23.15、Iterator
23.16、Generator
23.17、Promise对象
23.18、Class
23.19、Decorator
23.20、Module
23.21、工具

相关推荐

微信二维码