-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
ES6標準入門-(第3版) 版權信息
- ISBN:9787121324758
- 條形碼:9787121324758 ; 978-7-121-32475-8
- 裝幀:暫無
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
ES6標準入門-(第3版) 本書特色
ES6是下一代JavaScript語言標準的統稱,每年6月發布一次修訂版,迄今為止已經發布了3個版本,分別是ES2015、ES2016、ES2017。本書根據ES2017標準,詳盡介紹了所有新增的語法,對基本概念、設計目的和用法進行了清晰的講解,給出了大量簡單易懂的示例。本書為中級難度,適合那些已經對JavaScript語言有一定了解的讀者,可以作為學習這門語言*進展的工具書,也可以作為參考手冊供大家隨時查閱新語法。第3版增加了超過30%的內容,完全覆蓋了ES2017標準,相比第2版介紹了更多的語法點,還調整了原有章節的文字表達,充實了示例,論述更準確,更易懂易學。
ES6標準入門-(第3版) 內容簡介
√ 橫跨ES2015/2016/2017新標,搶占JavaScript制高點 √ 由千萬級名博、布道引領無數前端入行的阮一峰執筆 √ 來自BAT一線實踐,精彩案例透徹解讀新標|保留語法 √ 新標首著,凝結多年研究心得,剖析ES理解應用難題
ES6標準入門-(第3版) 目錄
第1章 ECMAScript 6簡介 1
1.1 ECMAScript和JavaScript的關系 1
1.2 ES6與ECMAScript 2015的關系 1
1.3 語法提案的批準流程 2
1.4 ECMAScript的歷史 3
1.5 部署進度 4
1.6 Babel 轉碼器 4
1.6.1 配置文件.babelrc 5
1.6.2 命令行轉碼babel-cli 6
1.6.3 babel-node 7
1.6.4 babel-register 8
1.6.5 babel-core 8
1.6.6 babel-polyfill 9
1.6.7 瀏覽器環境 10
1.6.8 在線轉換 10
1.6.9 與其他工具的配合 11
1.7 Traceur轉碼器 11
1.7.1 直接插入網頁 12
1.7.2 在線轉換 13
1.7.3 命令行轉換 14
1.7.4 Node環境的用法 15
第2章 let和const命令 17
2.1 let 命令 17
2.1.1 基本用法 17
2.1.2 不存在變量提升 19
2.1.3 暫時性死區 19
2.1.4 不允許重復聲明 21
2.2 塊級作用域 22
2.2.1 為什么需要塊級作用域 22
2.2.2 ES6的塊級作用域 23
2.2.3 塊級作用域與函數聲明 24
2.2.4 do表達式 27
2.3 const命令 28
2.3.1 基本用法 28
2.3.2 本質 29
2.3.3 ES6聲明變量的6種方法 30
2.4 頂層對象的屬性 30
2.5 global對象 31
第3章 變量的解構賦值 33
3.1 數組的解構賦值 33
3.1.1 基本用法 33
3.1.2 默認值 35
3.2 對象的解構賦值 37
3.3 字符串的解構賦值 41
3.4 數值和布爾值的解構賦值 41
3.5 函數參數的解構賦值 42
3.6 圓括號問題 43
3.6.1 不能使用圓括號的情況 43
3.6.2 可以使用圓括號的情況 44
3.7 用途 44
第4章 字符串的擴展 49
4.1 字符的Unicode表示法 49
4.2 codePointAt() 50
4.3 String.fromCodePoint() 52
4.4 字符串的遍歷器接口 52
4.5 at() 53
4.6 normalize() 53
4.7 includes()、startsWith()、endsWith() 54
4.8 repeat() 55
4.9 padStart()、padEnd() 56
4.10 模板字符串 57
4.11 實例:模板編譯 60
4.12 標簽模板 62
4.13 String.raw() 67
4.14 模板字符串的限制 68
第5章 正則的擴展 71
5.1 RegExp構造函數 71
5.2 字符串的正則方法 72
5.3 u修飾符 72
5.4 y修飾符 74
5.5 sticky屬性 77
5.6 flags屬性 77
5.7 s修飾符:dotAll模式 78
5.8 后行斷言 79
5.9 Unicode屬性類 80
5.10 具名組匹配 81
5.10.1 簡介 81
5.10.2 解構賦值和替換 82
5.10.3 引用 83
第6章 數值的擴展 85
6.1 二進制和八進制表示法 85
6.2 Number.isFinite()、Number.isNaN() 86
6.3 Number.parseInt()、Number.parseFloat() 87
6.4 Number.isInteger() 88
6.5 Number.EPSILON 88
6.6 安全整數和Number.isSafeInteger() 89
6.7 Math對象的擴展 92
6.7.1 Math.trunc() 92
6.7.2 Math.sign() 92
6.7.3 Math.cbrt() 93
6.7.4 Math.clz32() 94
6.7.5 Math.imul() 95
6.7.6 Math.fround() 95
6.7.7 Math.hypot() 96
6.7.8 對數方法 96
6.7.9 雙曲函數方法 98
6.8 Math.signbit() 98
6.9 指數運算符 99
6.10 Integer數據類型 99
6.10.1 簡介 99
6.10.2 運算 100
第7章 函數的擴展 103
7.1 函數參數的默認值 103
7.1.1 基本用法 103
7.1.2 與解構賦值默認值結合使用 105
7.1.3 參數默認值的位置 107
7.1.4 函數的length屬性 108
7.1.5 作用域 108
7.1.6 應用 111
7.2 rest參數 112
7.3 嚴格模式 113
7.4 name屬性 115
7.5 箭頭函數 116
7.5.1 基本用法 116
7.5.2 注意事項 118
7.5.3 嵌套的箭頭函數 121
7.6 綁定this 123
7.7 尾調用優化 124
7.7.1 什么是尾調用 124
7.7.2 尾調用優化 125
7.7.3 尾遞歸 126
7.7.4 遞歸函數的改寫 128
7.7.5 嚴格模式 129
7.7.6 尾遞歸優化的實現 129
7.8 函數參數的尾逗號 132
第8章 數組的擴展 133
8.1 擴展運算符 133
8.1.1 含義 133
8.1.2 替代數組的apply方法 134
8.1.3 擴展運算符的應用 136
8.2 Array.from() 139
8.3 Array.of() 142
8.4 數組實例的copyWithin() 143
8.5 數組實例的find()和findIndex() 144
8.6 數組實例的fill() 145
8.7 數組實例的entries()、keys()和values() 145
8.8 數組實例的includes() 146
8.9 數組的空位 147
第9章 對象的擴展 151
9.1 屬性的簡潔表示法 151
9.2 屬性名表達式 154
9.3 方法的name屬性 156
9.4 Object.is() 157
9.5 Object.assign() 158
9.5.1 基本用法 158
9.5.2 注意點 160
9.5.3 常見用途 161
9.6 屬性的可枚舉性 163
9.7 屬性的遍歷 165
9.8 __proto__ 屬性、Object.setPrototypeOf()、Object.getPrototypeOf() 166
9.8.1 __proto__ 屬性 166
9.8.2 Object.setPrototypeOf() 167
9.8.3 Object.getPrototypeOf() 168
9.9 Object.keys()、Object.values()、Object.entries() 169
9.9.1 Object.keys() 169
9.9.2 Object.values() 170
9.9.3 Object.entries 171
9.10 對象的擴展運算符 173
9.11 Object.getOwnPropertyDescriptors() 177
9.12 Null傳導運算符 181
第10章 Symbol 183
10.1 概述 183
10.2 作為屬性名的Symbol 185
10.3 實例:消除魔術字符串 188
10.4 屬性名的遍歷 189
10.5 Symbol.for()、Symbol.keyFor() 191
10.6 實例:模塊的Singleton模式 192
10.7 內置的Symbol值 194
10.7.1 Symbol.hasInstance 194
10.7.2 Symbol.isConcatSpreadable 195
10.7.3 Symbol.species 196
10.7.4 Symbol.match 197
10.7.5 Symbol.replace 197
10.7.6 Symbol.search 198
10.7.7 Symbol.split 198
10.7.8 Symbol.iterator 199
10.7.9 Symbol.toPrimitive 200
10.7.10 Symbol.toStringTag 201
10.7.11 Symbol.unscopables 202
第11章 Set和Map數據結構 205
11.1 Set 205
11.1.1 基本用法 205
11.1.2 Set實例的屬性和方法 207
11.1.3 遍歷操作 208
11.2 WeakSet 212
11.2.1 含義 212
11.2.2 語法 212
11.3 Map 214
11.3.1 含義和基本用法 214
11.3.2 實例的屬性和操作方法 218
11.3.3 遍歷方法 220
11.3.4 與其他數據結構的互相轉換 222
11.4 WeakMap 225
11.4.1 含義 225
11.4.2 WeakMap的語法 227
11.4.3 WeakMap示例 228
11.4.4 WeakMap的用途 229
第12章 Proxy 233
12.1 概述 233
12.2 Proxy實例的方法 237
12.2.1 get() 237
12.2.2 set() 241
12.2.3 apply() 243
12.2.4 has() 244
12.2.5 construct() 246
12.2.6 deleteProperty() 247
12.2.7 defineProperty() 248
12.2.8 getOwnPropertyDescriptor() 248
12.2.9 getPrototypeOf() 249
12.2.10 isExtensible() 249
12.2.11 ownKeys() 250
12.2.12 preventExtensions() 254
12.2.13 setPrototypeOf() 255
12.3 Proxy.revocable() 255
12.4 this問題 256
12.5 實例:Web服務的客戶端 258
第13章 Reflect 259
13.1 概述 259
13.2 靜態方法 261
13.2.1 Reflect.get(target, name, receiver) 262
13.2.2 Reflect.set(target, name, value, receiver) 263
13.2.3 Reflect.has(obj, name) 264
13.2.4 Reflect.deleteProperty(obj, name) 265
13.2.5 Reflect.construct(target, args) 265
13.2.6 Reflect.getPrototypeOf(obj) 265
13.2.7 Reflect.setPrototypeOf(obj, newProto) 266
13.2.8 Reflect.apply(func, thisArg, args) 267
13.2.9 Reflect.defineProperty(target, propertyKey, attributes) 267
13.2.10 Reflect.getOwnPropertyDescriptor (target, propertyKey) 268
13.2.11 Reflect.isExtensible (target) 268
13.2.12 Reflect.preventExtensions(target) 269
13.2.13 Reflect.ownKeys (target) 269
13.3 實例:使用Proxy實現觀察者模式 270
第14章 Promise對象 273
14.1 Promise的含義 273
14.2 基本用法 274
14.3 Promise.prototype.then() 278
14.4 Promise.prototype.catch() 279
14.5 Promise.all() 285
14.6 Promise.race() 287
14.7 Promise.resolve() 288
14.8 Promise.reject() 290
14.9 兩個有用的附加方法 291
14.9.1 done() 291
14.9.2 finally() 292
14.10 應用 292
14.10.1 加載圖片 292
14.10.2 Generator函數與Promise的結合 293
14.11 Promise.try() 294
第15章 Iterator和for...of循環 297
15.1 Iterator(遍歷器)的概念 297
15.2 默認Iterator接口 300
15.3 調用Iterator接口的場合 305
15.4 字符串的Iterator接口 307
15.5 Iterator接口與Generator函數 308
15.6 遍歷器對象的return()、throw() 309
15.7 for...of循環 310
15.7.1 數組 310
15.7.2 Set和Map結構 311
15.7.3 計算生成的數據結構 312
15.7.4 類似數組的對象 313
15.7.5 對象 314
15.7.6 與其他遍歷語法的比較 315
第16章 Generator函數的語法 317
16.1 簡介 317
16.1.1 基本概念 317
16.1.2 yield表達式 319
16.1.3 與Iterator接口的關系 322
16.2 next方法的參數 323
16.3 for...of循環 325
16.4 Generator.prototype.throw() 328
16.5 Generator.prototype.return() 334
16.6 yield*表達式 335
16.7 作為對象屬1
ES6標準入門-(第3版) 作者簡介
阮一峰,資深JavaScript 語言專家,知名技術博客作者,專注于網站開發技術十余年。暢銷書《黑客與畫家》、《軟件隨想錄》的譯者,現就職于螞蟻金服集團。
- >
莉莉和章魚
- >
巴金-再思錄
- >
朝聞道
- >
月亮虎
- >
推拿
- >
史學評論
- >
羅庸西南聯大授課錄
- >
詩經-先民的歌唱