作者根據(jù)自己多年的前后端開發(fā)經(jīng)驗(yàn),站在零基礎(chǔ)讀者的角度,詳盡介紹了ES6的核心技術(shù)和ES7~ES11等后續(xù)版本的新增技術(shù),以及各種中高級(jí)開發(fā)技巧。
全書共14章,主要內(nèi)容包括ES6簡介、let與const、字符串的擴(kuò)展、數(shù)組的擴(kuò)展、對(duì)象的擴(kuò)展、函數(shù)的擴(kuò)展、解構(gòu)賦值、新增運(yùn)算符、新增類型、可迭代對(duì)象、類(class)、Proxy與Reflect、異步編程、模塊化等。
為了方便高校老師教學(xué),本書不但配備了所有案例的源代碼,還提供了配套PPT課件。本書適合作為前端開發(fā)人員的參考書,也可以作為大中專院校相關(guān)專業(yè)的教學(xué)參考書。
本書并不是一本大而全的字典,內(nèi)容系統(tǒng)且重點(diǎn)介紹常用的知識(shí)點(diǎn),提煉知識(shí)精華,適合入門小白;
本書講解通俗易懂,通過實(shí)例講解,并配有練習(xí)題、面試題等,幫助前端小白輕松入門;
本書提供學(xué)習(xí)指導(dǎo)和交流(社群加入指南見前言);
本書配有習(xí)題答案、源碼文件、PPT教學(xué)課件;
本書增加ES7-ES12方面的知識(shí)點(diǎn),方便讀者參考;
莫振杰,從事前后端開發(fā)4年多,開發(fā)過綠葉學(xué)習(xí)網(wǎng)、廣州智能工程研究會(huì)網(wǎng)站、大量在線應(yīng)用工具以及各種類型網(wǎng)站,業(yè)余時(shí)間閱讀大量國內(nèi)外技術(shù)書籍,著有多本編程書,F(xiàn)為綠葉學(xué)習(xí)網(wǎng)的站長,該網(wǎng)站用于分享其前后端開發(fā)經(jīng)驗(yàn)。作者編寫分享的原創(chuàng)在線教程在互聯(lián)網(wǎng)受網(wǎng)友推崇,閱讀量600萬 。 今年又開發(fā)了系列前端線上付費(fèi)課程。曾出版《HTML CSS JavaScript基礎(chǔ)教程 Web前端開發(fā)精品課》《Web前端開發(fā)精品課 JavaScript基礎(chǔ)教程》等多種熱門圖書,累積印刷過13萬冊(cè)。
第 1 章 ES6 概述 1
1.1 ES6 是什么 1
1.1.1 ES6 簡介 1
1.1.2 本書的適用版本 2
1.2 學(xué)前準(zhǔn)備 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 暫時(shí)性死區(qū) 16
2.4.1 暫時(shí)性死區(qū)簡介 16
2.4.2 深入了解暫時(shí)性死區(qū) 17
2.5 實(shí)踐 18
2.6 本章練習(xí) 19
第 3 章 字符串的擴(kuò)展 20
3.1 字符串的擴(kuò)展簡介 20
3.2 檢索字符串:includes()、startsWith()、endsWith() 21
3.3 重復(fù)字符串:repeat() 22
3.4 去除空白:trim()、trimStart()、trimEnd() 23
3.5 長度補(bǔ)全:padStart()、padEnd() 23
3.6 模板字符串 25
3.6.1 語法簡介 25
3.6.2 深入了解 30
3.7 本章練習(xí) 32
第 4 章 數(shù)組的擴(kuò)展 33
4.1 數(shù)組的擴(kuò)展簡介 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 語法簡介 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ò)展簡介 56
5.2 簡寫語法 56
5.2.1 屬性簡寫 57
5.2.2 方法簡寫 58
5.3 判斷相等:Object.is() 59
5.4 合并對(duì)象:Object.assign() 60
5.4.1 語法簡介 60
5.4.2 深入了解 61
5.4.3 應(yī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 語法簡介 71
5.10.2 配置對(duì)象 72
5.10.3 數(shù)據(jù)屬性和訪問器屬性 77
5.10.4 對(duì)比了解 78
5.11 globalThis 79
5.12 本章練習(xí) 79
第 6 章 函數(shù)的擴(kuò)展 81
6.1 函數(shù)的擴(kuò)展簡介 81
6.2 箭頭函數(shù) 81
6.2.1 語法簡介 81
6.2.2 深入了解 83
6.2.3 應(yīng)用場景 85
6.3 參數(shù)默認(rèn)值 88
6.3.1 語法簡介 88
6.3.2 深入了解 89
6.4 name 屬性 90
6.5 本章練習(xí) 91
第 7 章 解構(gòu)賦值 93
7.1 解構(gòu)賦值簡介 93
7.2 對(duì)象的解構(gòu)賦值 94
7.2.1 語法簡介 94
7.2.2 深入了解 95
7.2.3 應(yīng)用場景 99
7.3 數(shù)組的解構(gòu)賦值 100
7.3.1 語法簡介 100
7.3.2 深入了解 101
7.3.3 應(yīng)用場景 102
7.3.4 總結(jié) 103
7.4 字符串 103
7.5 本章練習(xí) 104
第 8 章 新增運(yùn)算符 106
8.1 展開運(yùn)算符 106
8.1.1 語法簡介 106
8.1.2 深入了解 107
8.1.3 應(yī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 新增類型簡介 114
9.2 Symbol 114
9.2.1 語法簡介 114
9.2.2 深入了解 116
9.2.3 應(yīng)用場景 119
9.3 Set 121
9.3.1 Set 簡介 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 簡介 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 簡介 142
10.2.2 深入了解 for...of 144
10.3 本章練習(xí) 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 本章練習(xí) 153
第 12 章 Proxy 和 Reflect 155
12.1 Proxy 對(duì)象 155
12.1.1 Proxy 簡介 155
12.1.2 Proxy 方法 156
12.1.3 應(yī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 異步編程簡介 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)簡介 183
13.3.2 for 循環(huán)與 setTimeout() 185
13.4 Promise 對(duì)象 188
13.4.1 Promise 對(duì)象是什么 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 本章練習(xí) 206
第 14 章 模塊化 210
14.1 模塊化簡介 210
14.2 模塊化語法 212
14.2.1 導(dǎo)出語句 212
14.2.2 導(dǎo)入語句 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