從symbol開始到最后的書的目錄結(jié)構(gòu)
第10章 Symbol 183
10.1 概述 183
10.2 作為屬性名的Symbol 185
10.3 實(shí)例:消除魔術(shù)字符串 188
10.4 屬性名的遍歷 189
10.5 Symbol.for()、Symbol.keyFor() 191
10.6 實(shí)例:模塊的Singleton模式 192
10.7 內(nèi)置的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數(shù)據(jù)結(jié)構(gòu) 205
11.1 Set 205
11.1.1 基本用法 205
11.1.2 Set實(shí)例的屬性和方法 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 實(shí)例的屬性和操作方法 218
11.3.3 遍歷方法 220
11.3.4 與其他數(shù)據(jù)結(jié)構(gòu)的互相轉(zhuǎn)換 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實(shí)例的方法 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 實(shí)例:Web服務(wù)的客戶端 258
第13章 Reflect 259
13.1 概述 259
13.2 靜態(tài)方法 261
13.3 實(shí)例:使用Proxy實(shí)現(xiàn)觀察者模式 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.10 應(yīng)用 292
14.11 Promise.try() 294
第15章 Iterator和for...of循環(huán) 297
15.1 Iterator(遍歷器)的概念 297
15.2 默認(rèn)Iterator接口 300
15.3 調(diào)用Iterator接口的場合 305
15.4 字符串的Iterator接口 307
15.5 Iterator接口與Generator函數(shù) 308
15.6 遍歷器對象的return()、throw() 309
15.7 for...of循環(huán) 310
第16章 Generator函數(shù)的語法 317
16.1 簡介 317
16.2 next方法的參數(shù) 323
16.3 for...of循環(huán) 325
16.4 Generator.prototype.throw() 328
16.5 Generator.prototype.return() 334
16.6 yield*表達(dá)式 335
16.7 作為對象屬性的Generator函數(shù) 342
16.8 Generator函數(shù)this 342
16.9 含義 345
16.10 應(yīng)用 347
第17章 Generator函數(shù)的異步應(yīng)用 355
17.1 傳統(tǒng)方法 355
17.2 基本概念 355
17.3 Generator函數(shù) 357
17.4 Thunk函數(shù) 361
17.5 co模塊 368
17.6 實(shí)例:處理 Stream 373
第18章 async函數(shù) 375
18.1 含義 375
18.2 用法 377
18.3 語法 379
18.4 async函數(shù)的實(shí)現(xiàn)原理 386
18.5 其他異步處理方法的比較 387
18.6 實(shí)例:按順序完成異步操作 388
18.7 異步遍歷器 390
第19章 Class的基本語法 399
19.1 簡介 399
19.2 嚴(yán)格模式 403
19.3 constructor方法 403
19.4 類的實(shí)例對象 404
19.5 Class表達(dá)式 406
19.6 不存在變量提升 407
19.7 私有方法 408
19.8 私有屬性 409
19.9 this的指向 410
19.10 name屬性 412
19.11 Class的取值函數(shù)(getter)和存值函數(shù)(setter) 412
19.12 Class的Generator方法 413
19.13 Class的靜態(tài)方法 414
19.14 Class的靜態(tài)屬性和實(shí)例屬性 415
19.15 new.target屬性 418
第20章 Class的繼承 421
20.1 簡介 421
20.2 Object.getPrototypeOf() 423
20.3 super關(guān)鍵字 423
20.4 類的prototype屬性和 proto 屬性 429
20.4.1 extends的繼承目標(biāo) 430
20.4.2 實(shí)例的 proto 屬性 432
20.5 原生構(gòu)造函數(shù)的繼承 432
20.6 Mixin模式的實(shí)現(xiàn) 436
第21章 修飾器 439
21.1 類的修飾 439
21.2 方法的修飾 442
21.3 為什么修飾器不能用于函數(shù) 444
21.4 core-decorators.js 446
21.5 使用修飾器實(shí)現(xiàn)自動發(fā)布事件 449
21.6 Mixin 450
21.7 Trait 453
21.8 Babel轉(zhuǎn)碼器的支持 456
第22章 Module的語法 457
22.1 概述 457
22.2 嚴(yán)格模式 458
22.3 export命令 459
22.4 import命令 462
22.5 模塊的整體加載 464
22.6 export default命令 465
22.7 export與import的復(fù)合寫法 468
22.8 模塊的繼承 469
22.9 跨模塊常量 470
22.10 import() 471
22.10.1 簡介 471
22.10.2 適用場合 472
22.10.3 注意點(diǎn) 473
第23章 Module的加載實(shí)現(xiàn) 475
23.1 瀏覽器加載 475
23.1.1 傳統(tǒng)方法 475
23.1.2 加載規(guī)則 476
23.2 ES6模塊與CommonJS模塊的差異 477
23.3 Node加載 481
23.4 循環(huán)加載 485
23.5 ES6模塊的轉(zhuǎn)碼 492
第24章 編程風(fēng)格 495
24.1 塊級作用域 495
24.2 字符串 497
24.3 解構(gòu)賦值 497
24.4 對象 498
24.5 數(shù)組 500
24.6 函數(shù) 501
24.7 Map結(jié)構(gòu) 503
24.8 Class 503
24.9 模塊 504
24.10 ESLint的使用 506
第25章 讀懂ECMAScript規(guī)格 509
25.1 概述 509
25.2 相等運(yùn)算符 510
25.3 數(shù)組的空位 511
25.4 數(shù)組的map方法 513
第26章 ArrayBuffer 517
26.1 ArrayBuffer對象 518
26.2 TypedArray視圖 521
26.3 復(fù)合視圖 534
26.4 DataView視圖 535
26.5 二進(jìn)制數(shù)組的應(yīng)用 537
26.6 SharedArrayBuffer 541
26.7 Atomics對象 543