作者根據(jù)自己多年的前后端開(kāi)發(fā)經(jīng)驗(yàn),站在零基礎(chǔ)讀者的角度,詳盡介紹了ES6的核心技術(shù)和ES7~ES11等后續(xù)版本的新增技術(shù),以及各種中高級(jí)開(kāi)發(fā)技巧。
全書(shū)共14章,主要內(nèi)容包括ES6簡(jiǎn)介、let與const、字符串的擴(kuò)展、數(shù)組的擴(kuò)展、對(duì)象的擴(kuò)展、函數(shù)的擴(kuò)展、解構(gòu)賦值、新增運(yùn)算符、新增類型、可迭代對(duì)象、類(class)、Proxy與Reflect、異步編程、模塊化等。
為了方便高校老師教學(xué),本書(shū)不但配備了所有案例的源代碼,還提供了配套PPT課件。本書(shū)適合作為前端開(kāi)發(fā)人員的參考書(shū),也可以作為大中專院校相關(guān)專業(yè)的教學(xué)參考書(shū)。
本書(shū)并不是一本大而全的字典,內(nèi)容系統(tǒng)且重點(diǎn)介紹常用的知識(shí)點(diǎn),提煉知識(shí)精華,適合入門(mén)小白;
本書(shū)講解通俗易懂,通過(guò)實(shí)例講解,并配有練習(xí)題、面試題等,幫助前端小白輕松入門(mén);
本書(shū)提供學(xué)習(xí)指導(dǎo)和交流(社群加入指南見(jiàn)前言);
本書(shū)配有習(xí)題答案、源碼文件、PPT教學(xué)課件;
本書(shū)增加ES7-ES12方面的知識(shí)點(diǎn),方便讀者參考;
莫振杰,從事前后端開(kāi)發(fā)4年多,開(kāi)發(fā)過(guò)綠葉學(xué)習(xí)網(wǎng)、廣州智能工程研究會(huì)網(wǎng)站、大量在線應(yīng)用工具以及各種類型網(wǎng)站,業(yè)余時(shí)間閱讀大量國(guó)內(nèi)外技術(shù)書(shū)籍,著有多本編程書(shū)。現(xiàn)為綠葉學(xué)習(xí)網(wǎng)的站長(zhǎng),該網(wǎng)站用于分享其前后端開(kāi)發(fā)經(jīng)驗(yàn)。作者編寫(xiě)分享的原創(chuàng)在線教程在互聯(lián)網(wǎng)受網(wǎng)友推崇,閱讀量600萬(wàn) 。 今年又開(kāi)發(fā)了系列前端線上付費(fèi)課程。曾出版《HTML CSS JavaScript基礎(chǔ)教程 Web前端開(kāi)發(fā)精品課》《Web前端開(kāi)發(fā)精品課 JavaScript基礎(chǔ)教程》等多種熱門(mén)圖書(shū),累積印刷過(guò)13萬(wàn)冊(cè)。
第 1 章 ES6 概述 1
1.1 ES6 是什么 1
1.1.1 ES6 簡(jiǎn)介 1
1.1.2 本書(shū)的適用版本 2
1.2 學(xué)前準(zhǔn)備 2
1.2.1 教程說(shuō)明 2
1.2.2 環(huán)境說(shuō)明 3
1.3 console.log() 4
第 2 章 let 和 const 7
2.1 深入了解 var 7
2.2 let 8
2.2.1 let 簡(jiǎn)介 8
2.2.2 let 的用途 11
2.3 const 14
2.3.1 const 簡(jiǎn)介 14
2.3.2 深入了解 const 14
2.4 暫時(shí)性死區(qū) 16
2.4.1 暫時(shí)性死區(qū)簡(jiǎn)介 16
2.4.2 深入了解暫時(shí)性死區(qū) 17
2.5 實(shí)踐 18
2.6 本章練習(xí) 19
第 3 章 字符串的擴(kuò)展 20
3.1 字符串的擴(kuò)展簡(jiǎn)介 20
3.2 檢索字符串:includes()、startsWith()、endsWith() 21
3.3 重復(fù)字符串:repeat() 22
3.4 去除空白:trim()、trimStart()、trimEnd() 23
3.5 長(zhǎng)度補(bǔ)全:padStart()、padEnd() 23
3.6 模板字符串 25
3.6.1 語(yǔ)法簡(jiǎn)介 25
3.6.2 深入了解 30
3.7 本章練習(xí) 32
第 4 章 數(shù)組的擴(kuò)展 33
4.1 數(shù)組的擴(kuò)展簡(jiǎn)介 33
4.2 判斷數(shù)組:Array.isArray() 34
4.3 創(chuàng)建數(shù)組:Array.of() 35
4.4 轉(zhuǎn)換數(shù)組:Array.from() 37
4.4.1 類數(shù)組 37
4.4.2 Array.from() 41
4.5 填充數(shù)組:fill() 43
4.6 打平數(shù)組:flat() 44
4.6.1 語(yǔ)法簡(jiǎn)介 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 字符串和數(shù)組的相同方法 53
4.12 本章練習(xí) 55
第 5 章 對(duì)象的擴(kuò)展 56
5.1 對(duì)象的擴(kuò)展簡(jiǎn)介 56
5.2 簡(jiǎn)寫(xiě)語(yǔ)法 56
5.2.1 屬性簡(jiǎn)寫(xiě) 57
5.2.2 方法簡(jiǎn)寫(xiě) 58
5.3 判斷相等:Object.is() 59
5.4 合并對(duì)象:Object.assign() 60
5.4.1 語(yǔ)法簡(jiǎn)介 60
5.4.2 深入了解 61
5.4.3 應(yīng)用場(chǎng)景 63
5.5 凍結(jié)對(duì)象:Object.freeze() 65
5.6 遍歷對(duì)象:Object.keys()、Object.
values()、Object. entries() 66
5.7 轉(zhuǎn)換對(duì)象:Object.fromEntries() 67
5.8 獲取原型:Object.getPrototypeOf() 68
5.9 獲取屬性名:Object.
getOwnPropertyNames() 69
5.10 定義屬性:Object.
defineProperty() 71
5.10.1 語(yǔ)法簡(jiǎn)介 71
5.10.2 配置對(duì)象 72
5.10.3 數(shù)據(jù)屬性和訪問(wèn)器屬性 77
5.10.4 對(duì)比了解 78
5.11 globalThis 79
5.12 本章練習(xí) 79
第 6 章 函數(shù)的擴(kuò)展 81
6.1 函數(shù)的擴(kuò)展簡(jiǎn)介 81
6.2 箭頭函數(shù) 81
6.2.1 語(yǔ)法簡(jiǎn)介 81
6.2.2 深入了解 83
6.2.3 應(yīng)用場(chǎng)景 85
6.3 參數(shù)默認(rèn)值 88
6.3.1 語(yǔ)法簡(jiǎn)介 88
6.3.2 深入了解 89
6.4 name 屬性 90
6.5 本章練習(xí) 91
第 7 章 解構(gòu)賦值 93
7.1 解構(gòu)賦值簡(jiǎn)介 93
7.2 對(duì)象的解構(gòu)賦值 94
7.2.1 語(yǔ)法簡(jiǎn)介 94
7.2.2 深入了解 95
7.2.3 應(yīng)用場(chǎng)景 99
7.3 數(shù)組的解構(gòu)賦值 100
7.3.1 語(yǔ)法簡(jiǎn)介 100
7.3.2 深入了解 101
7.3.3 應(yīng)用場(chǎng)景 102
7.3.4 總結(jié) 103
7.4 字符串 103
7.5 本章練習(xí) 104
第 8 章 新增運(yùn)算符 106
8.1 展開(kāi)運(yùn)算符 106
8.1.1 語(yǔ)法簡(jiǎn)介 106
8.1.2 深入了解 107
8.1.3 應(yīng)用場(chǎng)景 108
8.2 剩余運(yùn)算符 110
8.2.1 解構(gòu)賦值 110
8.2.2 處理 arguments 111
8.3 求冪運(yùn)算符 112
8.4 本章練習(xí) 113
第 9 章 新增類型 114
9.1 新增類型簡(jiǎn)介 114
9.2 Symbol 114
9.2.1 語(yǔ)法簡(jiǎn)介 114
9.2.2 深入了解 116
9.2.3 應(yīng)用場(chǎng)景 119
9.3 Set 121
9.3.1 Set 簡(jiǎn)介 121
9.3.2 Set 的屬性 122
9.3.3 Set 的方法 123
9.3.4 Set 的應(yīng)用 127
9.4 Map 130
9.4.1 Map 簡(jiǎn)介 130
9.4.2 Map 的屬性 131
9.4.3 Map 的方法 132
9.4.4 Map 的應(yīng)用 136
9.5 本章練習(xí) 138
第 10 章 可迭代對(duì)象 139
10.1 可迭代對(duì)象是什么 139
10.1.1 自定義的可迭代對(duì)象 139
10.1.2 內(nèi)置的可迭代對(duì)象 141
10.2 for...of 142
10.2.1 for...of 簡(jiǎn)介 142
10.2.2 深入了解 for...of 144
10.3 本章練習(xí) 146
第 11 章 類(class) 147
11.1 類簡(jiǎn)介 147
11.1.1 類的定義 147
11.1.2 靜態(tài)方法 149
11.1.3 ES7 寫(xiě)法 150
11.2 類的繼承 150
11.3 本章練習(xí) 153
第 12 章 Proxy 和 Reflect 155
12.1 Proxy 對(duì)象 155
12.1.1 Proxy 簡(jiǎn)介 155
12.1.2 Proxy 方法 156
12.1.3 應(yīng)用場(chǎng)景 165
12.2 Reflect 對(duì)象 170
12.2.1 規(guī)范 Object 的部分操作 171
12.2.2 配合 Proxy 一起使用 173
12.3 本章練習(xí) 178
第 13 章 異步編程 180
13.1 異步編程簡(jiǎn)介 180
13.2 同步和異步 180
13.2.1 瀏覽器進(jìn)程 180
13.2.2 單線程 181
13.2.3 同步代碼和異步代碼 182
13.3 事件循環(huán) 183
13.3.1 事件循環(huán)簡(jiǎn)介 183
13.3.2 for 循環(huán)與 setTimeout() 185
13.4 Promise 對(duì)象 188
13.4.1 Promise 對(duì)象是什么 188
13.4.2 Promise 語(yǔ)法 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 本章練習(xí) 206
第 14 章 模塊化 210
14.1 模塊化簡(jiǎn)介 210
14.2 模塊化語(yǔ)法 212
14.2.1 導(dǎo)出語(yǔ)句 212
14.2.2 導(dǎo)入語(yǔ)句 218
14.2.3 深入了解 219
14.2.4 特別注意 222
14.3 本章練習(xí) 225
附錄
附錄 A 字符串的擴(kuò)展 228
附錄 B 數(shù)組的擴(kuò)展 229
附錄 C 對(duì)象的擴(kuò)展 230
附錄 D Set 類型 231
附錄 E Map 類型 232
附錄 F Proxy 對(duì)象 233
附錄 G Reflect 對(duì)象 234