您好,欢迎来到聚文网。 登录 免费注册
ES6标准入门

ES6标准入门

  • 字数: 538000.0
  • 装帧: 平装
  • 出版社: 电子工业出版社
  • 作者: 阮一峰 著 著
  • 出版日期: 2015-12-01
  • 商品条码: 9787121276576
  • 版次: 1
  • 开本: 16开
  • 页数: 317
  • 出版年份: 2015
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐

√ 2015年6月新发布的标准,被全球IT企业及前端开发者广泛拥护、支持。
√ ES6教程,由知名博主、前端新知布道者阮一峰老师执笔。
√ 本书紧跟业界实践,透彻解读新增特性、语法,代码示例简洁易用。
√ 把握趋势,覆盖ES7,指导JavaScript开发者提升功力,了解语言发展动向。

内容简介
ES6(又名 ES2105)是 JavaScript 语言的新标准,2015 年 6 月正式发布后,得到了迅速推广,是目前业界超级活跃的计算机语言。本书是国内仅有的一本 ES6 教程,在前版基础上增补了大量内容——对标准进行了彻底的解读,所有新增的语法知识(包括即将发布的 ES7)都给予了详细介绍,并且紧扣业界开发实践,给出了大量简洁易懂、可以即学即用的示例代码。
本书为中级难度,适合对 JavaScript 语言或 ES5 已经有所了解的读者,用来提高水平,了解这门语言的最新发展;也可当作参考手册,查寻 ES6/ES7 新增的语法点。
作者简介
阮一峰,著名技术博客作者,JavaScript专家。专注于网站开发技术超过十年。畅销书《黑客与画家》、《软件随想录》的译者。
目录
第1章ECMAScript6简介001
1.1ECMAScript和JavaScript的关系001
1.2ECMAScript的历史001
1.3部署进度002
1.4Babel转码器003
命令行环境004
浏览器环境005
Node.js环境005
在线转换006
1.5Traceur转码器006
直接插入网页006
在线转换007
命令行转换008
Node.js环境的用法008
1.6ECMAScript7009
第2章let和const命令010
2.1let命令010
基本用法010
不存在变量提升011
暂时性死区011
不允许重复声明012
2.2块级作用域013
为什么需要块级作用域013
ES6的块级作用域013
2.3const命令015
2.4跨模块常量016
2.5全局对象的属性017
第3章变量的解构赋值018
3.1数组的解构赋值018
基本用法018
默认值020
3.2对象的解构赋值021
3.3字符串的解构赋值024
3.4数值和布尔值的解构赋值024
3.5函数参数的解构赋值024
3.6圆括号问题025
不能使用圆括号的情况025
可以使用圆括号的情况026
3.7用途026
第4章字符串的扩展029
4.1字符的Unicode表示法029
4.2codePointAt()030
4.3String.fromCodePoint()031
4.4字符串的遍历器接口031
4.5at()032
4.6normalize()032
4.7includes(),startsWith(),
endsWith()033
4.8repeat()033
4.9padStart(),padEnd()034
4.10模板字符串034
4.11实例:模板编译037
4.12标签模板038
4.13String.raw()042
第5章正则的扩展043
5.1RegExp构造函数043
5.2字符串的正则方法043
5.3u修饰符043
5.4y修饰符045
5.5sticky属性047
5.6flags属性048
5.7RegExp.escape()048
第6章数值的扩展049
6.1二进制和八进制数值表示法049
6.2Number.isFinite(),
Number.isNaN()049
6.3Number.parseInt(),
Number.parseFloat()051
6.4Number.isInteger()051
6.5Number.EPSILON051
6.6安全整数和Number.isSafeInteger()052
6.7Math对象的扩展054
Math.trunc()054
Math.sign()054
Math.cbrt()055
Math.clz32()055
Math.imul()056
Math.fround()056
Math.hypot()057
对数方法057
三角函数方法058
6.8指数运算符058
第7章数组的扩展059
7.1Array.from()059
7.2Array.of()061
7.3数组实例的copyWithin()062
7.4数组实例的find()和findIndex()063
7.5数组实例的fill()063
7.6数组实例的entries()、keys()和
values()064
7.7数组实例的includes()064
7.8数组的空位065
7.9数组推导067
第8章函数的扩展069
8.1函数参数的默认值069
基本用法069
与解构赋值默认值结合使用070
参数默认值的位置071
函数的length属性072
作用域073
应用074
8.2rest参数074
8.3扩展运算符075
含义075
替代数组的apply方法076
扩展运算符的应用077
8.4name属性079
8.5箭头函数080
基本用法080
使用注意点081
嵌套的箭头函数083
8.6函数绑定084
8.7尾调用优化085
什么是尾调用085
尾调用优化086
尾递归087
递归函数的改写088
8.8函数参数的尾逗号089
第9章对象的扩展090
9.1属性的简洁表示法090
9.2属性名表达式092
9.3方法的name属性093
9.4Object.is()094
9.5Object.assign()095
9.6属性的可枚举性097
9.7属性的遍历098
9.8__proto__属性,
Object.setPrototypeOf(),
Object.getPrototypeOf()099
9.9对象的扩展运算符101
第10章Symbol103
10.1概述103
10.2作为属性名的Symbol105
10.3实例:消除魔术字符串106
10.4属性名的遍历107
10.5Symbol.for(),Symbol.keyFor()109
10.6内置的Symbol值110
Symbol.hasInstance110
Symbol.isConcatSpreadable110
Symbol.species111
Symbol.match111
Symbol.replace112
Symbol.search112
Symbol.split112
Symbol.iterator112
Symbol.toPrimitive113
Symbol.toStringTag113
Symbol.unscopables114
第11章Proxy和Reflect116
11.1Proxy概述116
11.2Proxy实例的方法119
get()119
set()121
apply()122
has()123
construct()123
deleteProperty()124
defineProperty()125
enumerate()125
getOwnPropertyDescriptor()126
getPrototypeOf()126
isExtensible()127
ownKeys()127
preventExtensions()128
setPrototypeOf()128
11.3Proxy.revocable()129
11.4Reflect概述129
11.5Reflect对象的方法130
第12章二进制数组133
12.1ArrayBuffer对象134
概述134
ArrayBuffer.prototype.byteLength135
ArrayBuffer.prototype.slice()135
ArrayBuffer.isView()136
12.2TypedArray视图136
概述136
构造函数136
数组方法138
字节序140
BYTES_PER_ELEMENT属性141
ArrayBuffer与字符串的互相转换142
溢出142
TypedArray.prototype.buffer143
TypedArray.prototype.byteLength,
TypedArray.prototype.byteOffset143
TypedArray.prototype.length143
TypedArray.prototype.set()144
TypedArray.prototype.subarray()144
TypedArray.prototype.slice()144
TypedArray.of()144
TypedArray.from()145
12.3复合视图145
12.4DataView视图146
12.5二进制数组的应用148
AJAX148
Canvas148
WebSocket149
FetchAPI149
FileAPI149
第13章Set和Map数据结构151
13.1Set151
基本用法151
Set实例的属性和方法152
遍历操作153
13.2WeakSet155
13.3Map157
Map结构的目的和基本用法157
实例的属性和操作方法159
遍历方法160
与其他数据结构的互相转换162
13.4WeakMap164
第14章Iterator和for...of循环166
14.1Iterator的概念166
14.2数据结构的默认Iterator接口168
14.3调用Iterator接口的场合172
14.4字符串的Iterator接口173
14.5Iterator接口与Generator函数174
14.6遍历器对象的return()、throw()175
14.7for...of循环175
数组175
Set和Map结构177
计算生成的数据结构177
类似数组的对象178
对象179
与其他遍历语法的比较180
第15章Generator函数181
15.1简介181
基本概念181
yield语句182
与Iterator接口的关系184
15.2next方法的参数185
15.3for...of循环187
15.4Generator.prototype.throw()189
15.5Generator.prototype.return()193
15.6yield*语句194
15.7作为对象属性的Generator函数199
15.8Generator函数的this200
15.9Generator函数推导201
15.10含义202
Generator与状态机202
Generator与协程202
15.11应用203
第16章Promise对象208
16.1Promise的含义208
16.2基本用法208
16.3Promise.prototype.then()211
16.4Promise.prototype.catch()212
16.5Promise.all()215
16.6Promise.race()216
16.7Promise.resolve()216
16.8Promise.reject()217
16.9两个有用的附加方法218
done()218
finally()218
16.10应用219
加载图片219
Generator函数与Promise的结合219
16.11async函数220
第17章异步操作和async函数221
17.1基本概念221
异步221
回调函数221
Promise222
17.2Generator函数223
协程223
Generator函数的概念223
Generator函数的数据交换和错误处理
224
异步任务的封装224
17.3Thunk函数225
参数的求值策略225
Thunk函数的含义226
JavaScript语言的Thunk函数226
Thunkify模块227
Generator函数的流程管理228
Thunk函数的自动流程管理229
17.4co模块230
基本用法230
co模块的原理230
基于Promise对象的自动执行231
co模块的源码232
处理并发的异步操作233
17.5async函数234
含义234
async函数的实现235
async函数的用法236
注意点236
与Promise、Generator的比较238
第18章Class240
18.1Class基本语法240
概述240
constructor方法243
实例对象243
name属性244
Class表达式245
不存在变量提升245
严格模式246
18.2Class的继承246
基本用法246
类的prototype属性和__proto__属性247
extends的继承目标248
Object.getPrototypeOf()249
super关键字249
实例的__proto__属性250
18.3原生构造函数的继承250
18.4Class的取值函数(getter)和存
值函数(setter)253
18.5Class的Generator方法254
18.6Class的静态方法254
18.7Class的静态属性255
18.8new.target属性256
18.9Mixin模式的实现258
第19章修饰器259
19.1类的修饰259
19.2方法的修饰261
19.3为什么修饰器不能用于函数262
19.4core-decorators.js263
@autobind263
@readonly263
@override263
@deprecate(别名@deprecated)264
@suppressWarnings265
19.5使用修饰器实现自动发布事件
265
19.6Mixin266
19.7Trait267
19.8Babel转码器的支持269
第20章Module270
20.1严格模式271
20.2export命令271
20.3import命令272
20.4模块的整体加载273
20.5module命令274
20.6exportdefault命令274
20.7模块的继承276
20.8ES6模块加载的实质277
20.9循环加载278
CommonJS模块的加载原理279
CommonJS模块的循环加载279
ES6模块的循环加载280
20.10ES6模块的转码282
ES6moduletranspiler282
SystemJS282
第21章编程风格284
21.1块级作用域284
let取代var284
全局常量和线程安全285
严格模式285
21.2字符串285
21.3解构赋值285
21.4对象286
21.5数组288
21.6函数288
21.7Map结构289
21.8Class290
21.9模块291
21.10ESLint的使用292
第22章读懂ECMAScript规格293
22.1概述293
22.2相等运算符293
22.3数组的空位295
22.4数组的map方法296
第23章参考链接299
23.1官方文件299
23.2综合介绍299
23.3let和const302
23.4解构赋值302
23.5字符串303
23.6正则304
23.7数值304
23.8数组304
23.9函数305
23.10对象306
23.11Proxy和Reflect306
23.12Symbol308
23.13二进制数组308
23.14Set和Map309
23.15Iterator310
23.16Generator311
23.17Promise对象312
23.18Class314
23.19Decorator314
23.20Module315
23.21工具316

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网