×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302519416
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:327
  • 出版时间:2019-03-01
  • 条形码:9787302519416 ; 978-7-302-51941-6

本书特色

《ES 2015/2016 编程实战》一书介绍了ES 2015及后续JavaScript发行版本中的新特性。读者在34个简短的课程中,可以逐个示例地学习,每个示例的设计目的是为了让读者掌握一种特定的技能。本书内容全面,探讨了语言的新语法、新声明和新数据类型。读者可以使用模块结构化代码,使用promise取代回调函数,使用类而不是构造函数。读者每翻过一页、每完成一个练习、每学习一次经过精心编裁的示例,都将向成为JavaScript大师迈近一步。 ? ES 2015及后续版本中的新特性 ? 编写异步代码 ? 创建自定义的迭代子 ? 模块和类的排错

内容简介

使用JavaScript Next编程
  优秀的代码可读性强、无错误且可维护。现代JavaScript也称为JavaScript Next,可以让开发人员容易地编写出完美的应用程序。在ES 2015中引入的新特性使得编写JavaScript项目与编写反应式应用和微服务一样,简化了JavaScript项目结构,极大地精简了面向异步的任务。

目录

目 录


第1课 ECMAScript规范和提案
流程 1
1.1 ECMAScript简史 1
1.2 ES2015增加这么多特性的
原因 2
1.3 谁决定添加何种特性 2
1.3.1 规范阶段 2
1.3.2 选择某个阶段 3
1.4 《ES 2015/2016编程实战》所讨论的内容 4
本课小结 4
第2课 使用Babel转编译 5
2.1 什么是转编译 5
2.1.1 编译成JavaScript语言 5
2.1.2 Babel的适用场合 6
2.2 配置Babel 6 6
2.3 《ES 2015/2016编程实战》所需的Babel配置 8
2.3.1 源代码映射的注意事项 9
2.3.2 将Babel配置为NPM
脚本 9
本课小结 10
第3课 使用Browserify捆绑模块 11
3.1 什么是模块 11
3.2 模块在Node.js中如何
工作 11
3.3 什么是Browserify 12
3.4 Browserify如何协助ES6
模块 12
3.5 让Browserify与Babel一起
工作 13
3.5.1 安装Browserify 13
3.5.2 使用babelify创建项目 13
3.6 Browserify的替代选择 16
本课小结 16
单元1 变量和字符串
第4课 使用let声明变量 19
4.1 let的作用域 20
4.2 let提升的工作原理 24
4.3 使用let还是使用var 26
本课小结 27
第5课 使用const声明常量 29
5.1 常量的工作机制 30
5.2 何时使用常量 33
本课小结 35
第6课 新字符串方法 37
6.1 搜索字符串 38
6.2 填充字符串 40
本课小结 42
第7课 模板字面量 45
7.1 什么是模板字面量 46
7.1.1 模板字面量的字符串
插值 47
7.1.2 模板字面量的多行
字符串 49
7.2 模板字面量是不可重用的
模板 50
7.3 使用标记模板字面量进行
自定义处理 51
本课小结 54
第8课 顶点项目:构建领域特定
语言 57
8.1 创建一些辅助函数 58
8.2 创建一个HTML转义的
DSL 59
8.3 创建一个将数组转换为
HTML的DSL 60
本课小结 61
单元2 对象和数组
第9课 新的数组方法 65
9.1 使用Array.from构建数组 66
9.2 使用Array.of构建数组 68
9.3 使用Array.prototype.fill
构建数组 69
9.4 使用Array.prototype.includes
搜索数组 71
9.5 使用Array.prototype.find
搜索数组 72
本课小结 73
第10课 Object.assign 75
10.1 使用Object.assign设置
默认值 76
10.2 使用Object.assign扩展
对象 78
10.3 在使用Object.assign时防止
对象改变 80
10.4 如何使用Object.assign
赋值 82
本课小结 84
第11课 解构 85
11.1 解构对象 86
11.2 解构数组 88
11.3 结合数组解构和对象
解构 89
11.4 可以解构的类型 91
本课小结 92
第12课 新对象字面量语法 93
12.1 简写属性名称 94
12.2 简写方法名称 96
12.3 计算属性名称 99
本课小结 100
第13课 符号 101
13.1 使用符号作为常量 102
13.2 使用符号作为对象键 104
13.3 使用全局符号创建行为
钩子 105
13.4 使用公知符号修改对象
行为 107
13.5 符号的陷阱 109
本课小结 110
第14课 顶点项目:模拟锁和
钥匙 111
14.1 创建锁和钥匙系统 111
14.2 创建Choose the Door
游戏 113
本课小结 117
单元3 函数
第15课 默认参数和rest 121
15.1 默认参数 122
15.2 使用默认参数避免重新
计算值 125
15.3 使用rest操作符收集
参数 127
15.4 使用rest在函数之间传递
参数 129
本课小结 130
第16课 解构参数 131
16.1 解构数组参数 132
16.2 解构对象参数 134
16.3 模拟命名参数 134
16.4 创建别名参数 137
本课小结 138
第17课 箭头函数 139
17.1 使用箭头函数使代码
简洁 140
17.2 使用箭头函数维护
上下文 143
17.3 箭头函数的陷阱 145
本课小结 147
第18课 生成器函数 149
18.1 定义生成器函数 150
18.2 使用生成器函数 152
18.3 使用生成器函数创建
无限列表 154
本课小结 156
第19课 顶点项目:囚徒困境 157
19.1 生成囚徒 158
19.2 让囚徒互动 160
19.3 获取和存储结果 161
19.4 将模拟程序结合在一起 162
19.5 哪种囚徒表现*好 164
本课小结 166
单元4 模块
第20课 创建模块 169
20.1 模块规则 170
20.2 如何创建模块 171
20.3 JavaScript文件何时成为
模块 175
本课小结 176
第21课 使用模块 177
21.1 指定模块的位置 178
21.2 从模块中导入值 179
21.3 如何绑定导入值 182
21.4 导入副作用 183
21.5 对模块进行分解和组织 184
本课小结 187
第22课 顶点项目:猜单词
游戏 189
22.1 规划 190
22.2 单词模块 190
22.3 状态模块 191
22.4 游戏界面模块 192
22.5 index 194
本课小结 195
单元5 迭代子
第23课 迭代子概述 199
23.1 迭代子的定义 200
23.2 for..of语句 200
23.3 spread 202
23.4 迭代器——观察藏在
迭代子下的机制 206
本课小结 210
第24课 集合 211
24.1 创建集合 212
24.2 使用集合 213
24.3 WeakSet简介 216
本课小结 217
第25课 映射 219
25.1 创建映射 220
25.2 使用映射 221
25.3 何时使用映射 223
25.4 WeakMap简介 227
本课小结 227
第26课 顶点练习:21点游戏 229
26.1 若干张纸牌和一副牌 230
26.2 让CPU缓慢运行,便于玩家
观察 234
26.3 将各部分代码组合
在一起 235
本课小结 239
单元6 类
第27课 类概述 243
27.1 类的声明 244
27.2 实例化类 246
27.3 导出类 247
27.4 类方法不绑定 248
27.5 在类定义中设置实例
属性 249
27.6 静态属性 251
本课小结 252
第28课 扩展类 255
28.1 继承 256
28.2 super 257
28.3 继承类时常见的错误 259
本课小结 260
第29课 顶点项目:彗星游戏
(Comets) 263
29.1 创建可控的精灵 264
29.2 添加彗星 265
29.3 发射火箭 266
29.4 物体碰撞时 268
29.5 添加爆炸效果 270
本课小结 271
单元7 异步工作
第30课 promise 275
30.1 使用promise 276
30.2 错误处理 278
30.3 promise辅助函数 279
本课小结 282
第31课 高级promise 283
31.1 创建promise 284
31.2 嵌套的promise 286
31.3 捕获错误 288
本课小结 291
第32课 异步函数 293
32.1 使用生成器的异步代码 294
32.2 异步函数概述 296
32.3 异步函数中的错误处理 297
本课小结 299
第33课 observable 301
33.1 创建observable 302
33.2 组合(编写)observable 304
33.3 创建observable组合器 305
本课小结 306
第34课 顶点项目:画布画廊 307
34.1 获取图片 308
34.2 在画布上绘制图片 309
34.3 重复过程 311
本课小结 314
附录 习题答案 315


展开全部

作者简介

JD Isaacks已经从事编程工作15年了,主要使用基于ECMAScript的语言。他先前是The Iron Yard编码学院的JavaScript讲师,喜欢开源,为React、Backbone和D3等许多热门项目做出了贡献。他也是Bower.js和Moment.js团队的成员,是*受欢迎的Sublime Text软件包之一的GitGutter的创建者

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航