新書推薦:
《
第十三位陪审员
》
售價:HK$
55.2
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
159.9
《
Python贝叶斯深度学习
》
售價:HK$
91.8
《
文本的密码:社会语境中的宋代文学
》
售價:HK$
69.0
《
启微·狂骉年代:西洋赛马在中国
》
售價:HK$
80.5
《
有趣的中国古建筑
》
售價:HK$
68.8
《
十一年夏至
》
售價:HK$
78.2
《
如何打造成功的商业赛事
》
售價:HK$
91.9
|
編輯推薦: |
√ 2015年6月新发布的标准,被全球IT企业及前端开发者广泛拥护、支持。
√ 国内****的ES6教程,由知名博主、前端新知布道者阮一峰老师执笔。
√ 本书紧跟业界实践,透彻解读新增特性、语法,代码示例简洁易用。
√ 把握趋势,覆盖ES7,指导JavaScript开发者提升功力,了解语言发展动向。
|
內容簡介: |
ES6(又名 ES2105)是 JavaScript 语言的新标准,2015 年 6 月正式发布后,得到了迅速推广,是目前业界超级活跃的计算机语言。本书是国内仅有的一本 ES6 教程,在前版基础上增补了大量内容——对标准进行了彻底的解读,所有新增的语法知识(包括即将发布的 ES7)都给予了详细介绍,并且紧扣业界开发实践,给出了大量简洁易懂、可以即学即用的示例代码。
本书为中级难度,适合对 JavaScript 语言或 ES5 已经有所了解的读者,用来提高水平,了解这门语言的**发展;也可当作参考手册,查寻 ES6ES7 新增的语法点。
|
關於作者: |
阮一峰:著名技术博客作者,JavaScript专家。专注于网站开发技术,超过十年。畅销书《黑客与画家》《软件随想录》的译者。
|
目錄:
|
第1章 ECMAScript 6 简介 001
1.1 ECMAScript 和 JavaScript 的关系
001
1.2 ECMAScript 的历史 001
1.3 部署进度 002
1.4 Babel 转码器 003
命令行环境 004
浏览器环境 005
Node.js 环境 005
在线转换 006
1.5 Traceur 转码器 006
直接插入网页 006
在线转换 007
命令行转换 008
Node.js 环境的用法 008
1.6 ECMAScript 7 009
第2章 let 和 const 命令 010
2.1 let 命令 010
基本用法 010
不存在变量提升 011
暂时性死区 011
不允许重复声明 012
2.2 块级作用域 013
为什么需要块级作用域 013
ES6 的块级作用域 013
2.3 const 命令 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.2 codePointAt 030
4.3 String.fromCodePoint 031
4.4 字符串的遍历器接口 031
4.5 at 032
4.6 normalize 032
4.7 includes,startsWith,
endsWith 033
4.8 repeat 033
目录
XII
目录
4.9 padStart,padEnd 034
4.10 模板字符串 034
4.11 实例:模板编译 037
4.12 标签模板 038
4.13 String.raw 042
第5章 正则的扩展 043
5.1 RegExp 构造函数 043
5.2 字符串的正则方法 043
5.3 u 修饰符 043
5.4 y 修饰符 045
5.5 sticky 属性 047
5.6 flags 属性 048
5.7 RegExp.escape 048
第6章 数值的扩展 049
6.1 二进制和八进制数值表示法 049
6.2 Number.isFinite,
Number.isNaN 049
6.3 Number.parseInt,
Number.parseFloat 051
6.4 Number.isInteger 051
6.5 Number.EPSILON 051
6.6 安全整数和 Number.isSafeInteger
052
6.7 Math 对象的扩展 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.1 Array.from 059
7.2 Array.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.2 rest 参数 074
8.3 扩展运算符 075
含义 075
替代数组的 apply 方法 076
扩展运算符的应用 077
8.4 name 属性 079
8.5 箭头函数 080
基本用法 080
使用注意点 081
嵌套的箭头函数 083
8.6 函数绑定 084
8.7 尾调用优化 085
什么是尾调用 085
尾调用优化 086
XIII
目录
尾递归 087
递归函数的改写 088
8.8 函数参数的尾逗号 089
第9章 对象的扩展 090
9.1 属性的简洁表示法 090
9.2 属性名表达式 092
9.3 方法的 name 属性 093
9.4 Object.is 094
9.5 Object.assign 095
9.6 属性的可枚举性 097
9.7 属性的遍历 098
9.8 __proto__ 属性,
Object.setPrototypeOf,
Object.getPrototypeOf 099
9.9 对象的扩展运算符 101
第 10 章 Symbol 103
10.1 概述 103
10.2 作为属性名的 Symbol 105
10.3 实例:消除魔术字符串 106
10.4 属性名的遍历 107
10.5 Symbol.for,Symbol.keyFor 109
10.6 内置的 Symbol 值 110
Symbol.hasInstance 110
Symbol.isConcatSpreadable 110
Symbol.species 111
Symbol.match 111
Symbol.replace 112
Symbol.search 112
Symbol.split 112
Symbol.iterator 112
Symbol.toPrimitive 113
Symbol.toStringTag 113
Symbol.unscopables 114
第 11 章 Proxy 和 Reflect 116
11.1 Proxy 概述 116
11.2 Proxy 实例的方法 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.3 Proxy.revocable 129
11.4 Reflect 概述 129
11.5 Reflect 对象的方法 130
第 12 章 二进制数组 133
12.1 ArrayBuffer 对象 134
概述 134
ArrayBuffer.prototype.byteLength 135
ArrayBuffer.prototype.slice 135
ArrayBuffer.isView 136
12.2 TypedArray 视图 136
概述 136
构造函数 136
数组方法 138
字节序 140
BYTES_PER_ELEMENT 属性 141
ArrayBuffer 与字符串的互相转换 142
溢出 142
XIV
目录
TypedArray.prototype.buffer 143
TypedArray.prototype.byteLength,
TypedArray.prototype.byteOffset 143
TypedArray.prototype.length 143
TypedArray.prototype.set 144
TypedArray.prototype.subarray 144
TypedArray.prototype.slice 144
TypedArray.of 144
TypedArray.from 145
12.3 复合视图 145
12.4 DataView 视图 146
12.5 二进制数组的应用 148
AJAX 148
Canvas 148
WebSocket 149
Fetch API 149
File API 149
第 13 章 Set 和 Map 数据结构 151
13.1 Set 151
基本用法 151
Set 实例的属性和方法 152
遍历操作 153
13.2 WeakSet 155
13.3 Map 157
Map 结构的目的和基本用法 157
实例的属性和操作方法 159
遍历方法 160
与其他数据结构的互相转换 162
13.4 WeakMap 164
第 14 章 Iterator 和 for...of 循环 166
14.1 Iterator 的概念 166
14.2 数据结构的默认 Iterator 接口 168
|
|