第 1 章 ES6 概述 1
1.1 ES6 是什么 1
1.1.1 ES6 簡介 1
1.1.2 本書的適用版本 2
1.2 學前準備 2
1.2.1 教程說明 2
1.2.2 環(huán)境說明 3
1.3 console.log() 4
第 2 章 let 和 const 7
2.1 深入了解 var 7
2.2 let 8
2.2.1 let 簡介 8
2.2.2 let 的用途 11
2.3 const 14
2.3.1 const 簡介 14
2.3.2 深入了解 const 14
2.4 暫時性死區(qū) 16
2.4.1 暫時性死區(qū)簡介 16
2.4.2 深入了解暫時性死區(qū) 17
2.5 最佳實踐 18
2.6 本章練習 19
第 3 章 字符串的擴展 20
3.1 字符串的擴展簡介 20
3.2 檢索字符串:includes()、startsWith()、endsWith() 21
3.3 重復字符串:repeat() 22
3.4 去除空白:trim()、trimStart()、trimEnd() 23
3.5 長度補全:padStart()、padEnd() 23
3.6 模板字符串 25
3.6.1 語法簡介 25
3.6.2 深入了解 30
3.7 本章練習 32
第 4 章 數組的擴展 33
4.1 數組的擴展簡介 33
4.2 判斷數組:Array.isArray() 34
4.3 創(chuàng)建數組:Array.of() 35
4.4 轉換數組:Array.from() 37
4.4.1 類數組 37
4.4.2 Array.from() 41
4.5 填充數組:fill() 43
4.6 打平數組:flat() 44
4.6.1 語法簡介 44
4.6.2 深入了解 44
4.7 判斷元素:includes() 46
4.8 查找元素:find()、findIndex() 48
4.8.1 find() 48
4.8.2 findIndex() 49
4.9 every() 和 some() 49
4.10 keys()、values() 和 entries() 51
4.11 字符串和數組的相同方法 53
4.12 本章練習 55
第 5 章 對象的擴展 56
5.1 對象的擴展簡介 56
5.2 簡寫語法 56
5.2.1 屬性簡寫 57
5.2.2 方法簡寫 58
5.3 判斷相等:Object.is() 59
5.4 合并對象:Object.assign() 60
5.4.1 語法簡介 60
5.4.2 深入了解 61
5.4.3 應用場景 63
5.5 凍結對象:Object.freeze() 65
5.6 遍歷對象:Object.keys()、Object.
values()、Object. entries() 66
5.7 轉換對象:Object.fromEntries() 67
5.8 獲取原型:Object.getPrototypeOf() 68
5.9 獲取屬性名:Object.
getOwnPropertyNames() 69
5.10 定義屬性:Object.
defineProperty() 71
5.10.1 語法簡介 71
5.10.2 配置對象 72
5.10.3 數據屬性和訪問器屬性 77
5.10.4 對比了解 78
5.11 globalThis 79
5.12 本章練習 79
第 6 章 函數的擴展 81
6.1 函數的擴展簡介 81
6.2 箭頭函數 81
6.2.1 語法簡介 81
6.2.2 深入了解 83
6.2.3 應用場景 85
6.3 參數默認值 88
6.3.1 語法簡介 88
6.3.2 深入了解 89
6.4 name 屬性 90
6.5 本章練習 91
第 7 章 解構賦值 93
7.1 解構賦值簡介 93
7.2 對象的解構賦值 94
7.2.1 語法簡介 94
7.2.2 深入了解 95
7.2.3 應用場景 99
7.3 數組的解構賦值 100
7.3.1 語法簡介 100
7.3.2 深入了解 101
7.3.3 應用場景 102
7.3.4 總結 103
7.4 字符串 103
7.5 本章練習 104
第 8 章 新增運算符 106
8.1 展開運算符 106
8.1.1 語法簡介 106
8.1.2 深入了解 107
8.1.3 應用場景 108
8.2 剩余運算符 110
8.2.1 解構賦值 110
8.2.2 處理 arguments 111
8.3 求冪運算符 112
8.4 本章練習 113
第 9 章 新增類型 114
9.1 新增類型簡介 114
9.2 Symbol 114
9.2.1 語法簡介 114
9.2.2 深入了解 116
9.2.3 應用場景 119
9.3 Set 121
9.3.1 Set 簡介 121
9.3.2 Set 的屬性 122
9.3.3 Set 的方法 123
9.3.4 Set 的應用 127
9.4 Map 130
9.4.1 Map 簡介 130
9.4.2 Map 的屬性 131
9.4.3 Map 的方法 132
9.4.4 Map 的應用 136
9.5 本章練習 138
第 10 章 可迭代對象 139
10.1 可迭代對象是什么 139
10.1.1 自定義的可迭代對象 139
10.1.2 內置的可迭代對象 141
10.2 for...of 142
10.2.1 for...of 簡介 142
10.2.2 深入了解 for...of 144
10.3 本章練習 146
第 11 章 類(class) 147
11.1 類簡介 147
11.1.1 類的定義 147
11.1.2 靜態(tài)方法 149
11.1.3 ES7 寫法 150
11.2 類的繼承 150
11.3 本章練習 153
第 12 章 Proxy 和 Reflect 155
12.1 Proxy 對象 155
12.1.1 Proxy 簡介 155
12.1.2 Proxy 方法 156
12.1.3 應用場景 165
12.2 Reflect 對象 170
12.2.1 規(guī)范 Object 的部分操作 171
12.2.2 配合 Proxy 一起使用 173
12.3 本章練習 178
第 13 章 異步編程 180
13.1 異步編程簡介 180
13.2 同步和異步 180
13.2.1 瀏覽器進程 180
13.2.2 單線程 181
13.2.3 同步代碼和異步代碼 182
13.3 事件循環(huán) 183
13.3.1 事件循環(huán)簡介 183
13.3.2 for 循環(huán)與 setTimeout() 185
13.4 Promise 對象 188
13.4.1 Promise 對象是什么 188
13.4.2 Promise 語法 191
13.4.3 Promise.resolve() 和 Promise.
reject() 197
13.4.4 Promise.all() 和 Promise.
race() 199
13.4.5 Promise.prototype.finally() 201
13.5 async 和 await 202
13.5.1 async 202
13.5.2 await 203
13.6 本章練習 206
第 14 章 模塊化 210
14.1 模塊化簡介 210
14.2 模塊化語法 212
14.2.1 導出語句 212
14.2.2 導入語句 218
14.2.3 深入了解 219
14.2.4 特別注意 222
14.3 本章練習 225
附錄
附錄 A 字符串的擴展 228
附錄 B 數組的擴展 229
附錄 C 對象的擴展 230
附錄 D Set 類型 231
附錄 E Map 類型 232
附錄 F Proxy 對象 233
附錄 G Reflect 對象 234