作者根據自己多年的前后端開發(fā)經驗,站在零基礎讀者的角度,詳盡介紹了ES6的核心技術和ES7~ES11等后續(xù)版本的新增技術,以及各種中高級開發(fā)技巧。
全書共14章,主要內容包括ES6簡介、let與const、字符串的擴展、數組的擴展、對象的擴展、函數的擴展、解構賦值、新增運算符、新增類型、可迭代對象、類(class)、Proxy與Reflect、異步編程、模塊化等。
為了方便高校老師教學,本書不但配備了所有案例的源代碼,還提供了配套PPT課件。本書適合作為前端開發(fā)人員的參考書,也可以作為大中專院校相關專業(yè)的教學參考書。
本書并不是一本大而全的字典,內容系統(tǒng)且重點介紹常用的知識點,提煉知識精華,適合入門小白;
本書講解通俗易懂,通過實例講解,并配有練習題、面試題等,幫助前端小白輕松入門;
本書提供學習指導和交流(社群加入指南見前言);
本書配有習題答案、源碼文件、PPT教學課件;
本書增加ES7-ES12方面的知識點,方便讀者參考;
莫振杰,從事前后端開發(fā)4年多,開發(fā)過綠葉學習網、廣州智能工程研究會網站、大量在線應用工具以及各種類型網站,業(yè)余時間閱讀大量國內外技術書籍,著有多本編程書,F為綠葉學習網的站長,該網站用于分享其前后端開發(fā)經驗。作者編寫分享的原創(chuàng)在線教程在互聯(lián)網受網友推崇,閱讀量600萬 。 今年又開發(fā)了系列前端線上付費課程。曾出版《HTML CSS JavaScript基礎教程 Web前端開發(fā)精品課》《Web前端開發(fā)精品課 JavaScript基礎教程》等多種熱門圖書,累積印刷過13萬冊。
第 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