新書推薦:
《
大地的勇士
》
售價:NT$
340.0
《
中华老学·第十一辑
》
售價:NT$
380.0
《
债务之网:瑞士民商法的发展历史(1800-1900)
》
售價:NT$
345.0
《
ARM嵌入式Linux系统开发详解(第3版)
》
售價:NT$
595.0
《
长寿时代:做自己人生的CFO
》
售價:NT$
310.0
《
早点知道会幸福的那些事
》
售價:NT$
295.0
《
知宋·宋代之货币
》
售價:NT$
340.0
《
爱的7种对话:建立持续一生的亲密关系 (加)苏·约翰逊
》
售價:NT$
345.0
|
編輯推薦: |
JavaScript语言有很多复杂的概念,但却用简单的方式体现出来(比如回调函数),因此,JavaScript开发人无需理解语言内部的原理,就能编写出功能全面的程序。然而,JavaScript的这些复杂精妙的概念才是语言的精髓,即使是经验丰富的JavaScript开发人,如果没有认真学习,也无法真正理解语言本身的特性。正是因为绝大多数人不求甚解,一遇到出乎意料的行为就认为是语言本身有缺陷,进而把相关的特性加入黑名单,久而久之就排除了这门语言的多样性,人为地使它变得不完整、不安全。 你不知道的JavaScript系列就是要让不求甚解的JavaScript开发人迎难而上,深入语言内部,弄清楚JavaScript每一个零部件的用途,轻松理解前端圈里出现的各种技术、框架和流行术语。本书介绍了该系统的两个主题:起步上路以及ES6及更新版本。
|
內容簡介: |
JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了JavaScript中常被人误解和忽视的重要知识点。本书是其下卷,主要介绍了JavaScript入门知识和对ES6及未来发展趋势的展望。 本书既适合JavaScript语言初学者了解其精髓,又适合经验丰富的JavaScript开发人员深入学习。
|
關於作者: |
Kyle Simpson,推崇开放的互联网,对JavaScript、HTML5、实时端对端通信和Web性能有深入研究。他是技术书作家、技术培训师、讲师和开源社区的活跃成员。 【译者简介】 单业,计算机专业硕士,软件工程师,曾供职于多家软件公司,从事软件开发工作,现居于上海。译有《你不知道的JavaScript(中卷)》。
|
目錄:
|
前言xi
致谢xvii
第 一部分 起步上路
序2
第 1 章 深入编程4
1.1 代码4
1.2 表达式5
1.3 实践6
1.3.1 输出7
1.3.2 输入8
1.4 运算符9
1.5 值与类型11
1.6 代码注释13
1.7 变量14
1.8 块16
1.9 条件判断17
1.10 循环18
1.11 函数20
1.12 实践23
1.13 小结25
第 2 章 深入JavaScript26
2.1 值与类型26
2.1.1 对象28
2.1.2 内置类型方法30
2.1.3 值的比较31
2.2 变量35
2.3 条件判断37
2.4 严格模式39
2.5 作为值的函数40
2.5.1 立即调用函数表达式41
2.5.2 闭包42
2.6 this标识符44
2.7 原型46
2.8 旧与新47
2.8.1 polyfilling47
2.8.2 transpiling48
2.9 非JavaScript49
2.10 小结50
第 3 章 深入你不知道的JavaScript系列51
3.1 作用域和闭包51
3.2 this和对象原型52
3.3 类型和语法53
3.4 异步和性能53
3.5 ES6及更新版本54
3.6 小结55
第 二部分 ES6及更新版本
序58
第 1 章 ES?现在与未来59
1.1 版本60
1.2 transpiling61
1.3 小结63
第 2 章 语法64
2.1 块作用域声明64
2.1.1 let声明65
2.1.2 const声明68
2.1.3 块作用域函数70
2.2 spreadrest71
2.3 默认参数值73
2.4 解构77
2.4.1 对象属性复制模式78
2.4.2 不只是声明79
2.4.3 重复赋值81
2.5 太多,太少,刚刚好83
2.5.1 默认值赋值84
2.5.2 嵌套解构84
2.5.3 解构参数85
2.6 对象字面量扩展90
2.6.1 简洁属性90
2.6.2 简洁方法90
2.6.3 计算属性名95
2.6.4 设定[[Prototype]]96
2.6.5 super对象97
2.7 模板字面量98
2.7.1 插入表达式99
2.7.2 标签模板字面量100
2.8 箭头函数103
2.9 for..of循环109
2.10 正则表达式111
2.10.1 Unicode标识111
2.10.2 定点标识112
2.10.3 正则表达式flags116
2.11 数字字面量扩展117
2.12 Unicode118
2.12.1 支持Unicode的字符串运算119
2.12.2 字符定位121
2.12.3 Unicode标识符名123
2.13 符号123
2.13.1 符号注册125
2.13.2 作为对象属性的符号127
2.14 小结128
第 3 章 代码组织129
3.1 迭代器129
3.1.1 接口130
3.1.2 next迭代131
3.1.3 可选的return..和throw..132
3.1.4 迭代器循环133
3.1.5 自定义迭代器134
3.1.6 迭代器消耗137
3.2 生成器138
3.2.1 语法139
3.2.2 迭代器控制144
3.2.3 提前完成147
3.2.4 错误处理149
3.2.5 Transpile生成器151
3.2.6 生成器使用152
3.3 模块153
3.3.1 旧方法153
3.3.2 前进154
3.3.3 新方法156
3.3.4 模块依赖环164
3.3.5 模块加载166
3.4 类167
3.4.1 class168
3.4.2 extends和super169
3.4.3 new.target174
3.4.4 static175
3.5 小结176
第 4 章 异步流控制177
4.1 Promise177
4.1.1 构造和使用Promise178
4.1.2 Thenable180
4.1.3 Promise API181
4.2 生成器 Promise183
4.3 小结185
第 5 章 集合187
5.1 TypedArray187
5.1.1 大小端(Endianness)188
5.1.2 多视图189
5.1.3 带类数组构造器190
5.2 Map192
5.2.1 Map值194
5.2.2 Map键194
5.3 WeakMap195
5.4 Set196
5.5 WeakSet198
5.6 小结199
第 6 章 新增API200
6.1 Array200
6.1.1 静态函数Array.of..200
6.1.2 静态函数Array.from..201
6.1.3 创建数组和子类型204
6.1.4 原型方法copyWithin..205
6.1.5 原型方法fill..206
6.1.6 原型方法find..206
6.1.7 原型方法findIndex..207
6.1.8 原型方法entries、values、keys208
6.2 Object209
6.2.1 静态函数Object.is..209
6.2.2 静态函数Object.getOwnPropertySymbols..210
6.2.3 静态函数Object.setPrototypeOf..210
6.2.4 静态函数Object.assign..211
6.3 Math212
6.4 Number214
6.4.1 静态属性214
6.4.2 静态函数Number.isNaN..214
6.4.3 静态函数Number.isFinite..215
6.4.4 整型相关静态函数215
6.5 字符串216
6.5.1 Unicode函数217
6.5.2 静态函数String.raw..217
6.5.3 原型函数repeat..217
6.5.4 字符串检查函数218
6.6 小结218
第 7 章 元编程219
7.1 函数名称219
7.2 元属性222
7.3 公开符号223
7.3.1 Symbol.iterator223
7.3.2 Symbol.toStringTag与Symbol.hasInstance224
7.3.3 Symbol.species225
7.3.4 Symbol.toPrimitive226
7.3.5 正则表达式符号226
7.3.6 Symbol.isConcatSpreadable227
7.3.7 Symbol.unscopables228
7.4 代理228
7.4.1 代理局限性231
7.4.2 可取消代理232
7.4.3 使用代理233
7.5 Reflect API240
7.6 特性测试243
7.7 尾递归调用(Tail Call Optimization,TCO)245
7.7.1 尾调用重写247
7.7.2 非TCO优化248
7.7.3 元在何处250
7.8 小结251
第 8 章 ES6之后253
8.1 异步函数254
8.2 Object.observe..257
8.2.1 自定义改变事件258
8.2.2 结束观测259
8.3 幂运算符260
8.4 对象属性与...260
8.5 Array#includes261
8.6 SIMD262
8.7 WebAssembly WASM262
8.8 小结264
|
|