国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

手把手帶你學(xué)習(xí) JavaScript 的 ES6 ~ ESn

這篇具有很好參考價(jià)值的文章主要介紹了手把手帶你學(xué)習(xí) JavaScript 的 ES6 ~ ESn。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


一、引言

JavaScript 是一種廣泛使用的網(wǎng)絡(luò)編程語言,它在前端開發(fā)中扮演著重要角色。隨著時(shí)間的推移,JavaScript 的版本不斷更新,新的功能和語法不斷涌現(xiàn),使得這門語言更加豐富和強(qiáng)大。ES6~ESn 是指 JavaScript 的版本6到版本n(例如ES7、ES8等),這些新版本為我們帶來了許多新的特性和功能。本文將介紹如何學(xué)好 JavaScript 的 ES6~ESn,更好地掌握這門語言的最新版本。

二、了解 ES6~ESn 的新特性

學(xué)習(xí) JavaScript 的 ES6~ESn,首先需要了解它們的新特性。以下是 ES6~ESn 的一些重要新特性:

  1. let 和 const 關(guān)鍵字:ES6 引入了塊級(jí)作用域的變量聲明,let 和 const 可以用來聲明變量或常量。let 可以重新賦值,而 const 用于聲明常量,不可以重新賦值。
  2. 箭頭函數(shù):ES6 引入了箭頭函數(shù),它是一個(gè)更加簡(jiǎn)潔的函數(shù)語法。箭頭函數(shù)沒有自己的 this 值,它會(huì)繼承外層作用域的 this 值。
  3. 模塊化:ES6 引入了模塊化語法,通過 import 和 export 關(guān)鍵字可以實(shí)現(xiàn)模塊的導(dǎo)入和導(dǎo)出。
  4. Promise:ES6 引入了 Promise,它是一個(gè)異步編程的方式,可以方便地處理異步操作。
  5. Generator:ES6 引入了 Generator,它可以將函數(shù)內(nèi)部的執(zhí)行狀態(tài)保存下來,以便在后續(xù)的調(diào)用中恢復(fù)執(zhí)行狀態(tài)。
  6. Class:ES6 引入了 Class,它是一種更加直觀的面向?qū)ο缶幊痰姆绞健?/li>
  7. Proxy 和 Reflect:ES6 引入了 Proxy 和 Reflect,它們可以用來操作對(duì)象和函數(shù)的行為。
  8. 新數(shù)據(jù)結(jié)構(gòu):ES6 引入了新的數(shù)據(jù)結(jié)構(gòu),如 Map、Set、WeakMap、WeakSet 等。
  9. Spread Operator:ES7 引入了 Spread Operator(…),它可以將數(shù)組或?qū)ο笳归_到函數(shù)的參數(shù)列表中。
  10. Async/Await:ES8 引入了 Async/Await,它可以使異步代碼看起來像同步代碼,提高了代碼的可讀性和可維護(hù)性。

了解 ES6~ESn 的新特性是學(xué)習(xí)它們的第一步,這有助于理解這些版本與之前版本的差異以及它們能夠?yàn)槲覀儙硎裁?。接下來,我們需要掌握這些新特性的用法和實(shí)現(xiàn)原理。

三、掌握 ES6~ESn 的用法和實(shí)現(xiàn)原理

學(xué)習(xí) JavaScript 的 ES6~ESn,需要掌握它們的用法和實(shí)現(xiàn)原理。以下是掌握 ES6~ESn 用法和實(shí)現(xiàn)原理的一些建議:

  1. 閱讀官方文檔:官方文檔是學(xué)習(xí) JavaScript 的最佳資源之一。通過閱讀官方文檔,可以了解 ES6~ESn 的語法、用法和實(shí)現(xiàn)原理。
  2. 編寫代碼實(shí)踐:學(xué)習(xí) ES6~ESn 的最好方法是多寫代碼實(shí)踐。嘗試使用新的語法和特性編寫代碼,并理解它們的優(yōu)點(diǎn)和適用場(chǎng)景。
  3. 學(xué)習(xí) Babel:Babel 是一個(gè) JavaScript 編譯器,它可以將 ES6~ESn 的代碼轉(zhuǎn)換為 ES5 的代碼,以便在老版本的瀏覽器上運(yùn)行。學(xué)習(xí) Babel 可以更好地理解 ES6~ESn 的實(shí)現(xiàn)原理。
  4. 學(xué)習(xí)編譯器原理:了解 JavaScript 編譯器的原理可以更好地理解 ES6~ESn 的語法和實(shí)現(xiàn)原理。可以閱讀一些關(guān)于編譯器原理的書籍或在線教程。
  5. 學(xué)習(xí) WebAssembly:WebAssembly 是一種新的代碼格式,它可以提高網(wǎng)頁的性能和可擴(kuò)展性。學(xué)習(xí) WebAssembly 可以更好地理解 JavaScript 的發(fā)展方向和未來趨勢(shì)。

四、深入挖掘和拓展

通過了解 ES6~ESn 的新特性、掌握它們的用法和實(shí)現(xiàn)原理,可以更好地使用 JavaScript 以下是一些深入挖掘和拓展的經(jīng)驗(yàn)幫助更好地掌握新特性:

  1. 持續(xù)學(xué)習(xí)和實(shí)踐:JavaScript 的發(fā)展是不斷進(jìn)步的,新的版本和特性不斷涌現(xiàn)。保持學(xué)習(xí)和實(shí)踐是掌握最新版本的關(guān)鍵。嘗試使用新的語法和特性編寫代碼,并理解它們的優(yōu)點(diǎn)和適用場(chǎng)景。
  2. 參與開源項(xiàng)目:通過參與開源項(xiàng)目,可以了解其他開發(fā)者是如何使用 ES6~ESn 的特性的,同時(shí)也可以通過貢獻(xiàn)代碼來加深對(duì) ES6~ESn 的理解。
  3. 閱讀源代碼:閱讀 JavaScript 庫或框架的源代碼可以更好地理解這些工具是如何使用 ES6~ESn 的特性來實(shí)現(xiàn)功能的,同時(shí)也可以學(xué)習(xí)到一些最佳實(shí)踐。
  4. 學(xué)習(xí)其他編程語言:學(xué)習(xí)其他編程語言可以更好地理解 JavaScript 的語法和特性,同時(shí)也可以了解其他編程語言中的優(yōu)秀特性和實(shí)踐。
  5. 參與社區(qū)討論:參與社區(qū)討論可以了解其他開發(fā)者對(duì) ES6~ESn 的看法和經(jīng)驗(yàn),同時(shí)也可以解決遇到的問題。。

《深入理解現(xiàn)代JavaScript》

手把手帶你學(xué)習(xí) JavaScript 的 ES6 ~ ESn,javascript,學(xué)習(xí),es6

編輯推薦

JavaScript是一門快速發(fā)展的語言,對(duì)于有經(jīng)驗(yàn)的開發(fā)人員來說,如要掌握所有新添加的特性,可能會(huì)面臨挑戰(zhàn)。本書不僅會(huì)帶你探索世界上語言的新特性,而且會(huì)向你展示如何跟蹤這門語言的后續(xù)發(fā)展。本書首先介紹將新特性添加到 JavaScript 的流程,包括這個(gè)流程是如何管理的,以及由誰來管理;隨后深入詳細(xì)地描述每個(gè)新特性或者有調(diào)整的舊特性,并闡述示例用法、可能的陷阱;本書還將提供專業(yè)意見,教你使用新特性代替舊用法。

內(nèi)容簡(jiǎn)介

主要內(nèi)容涵蓋ES2015~ES2020中JavaScript的所有新特性以及下一版的預(yù)覽。

探索新的語法:空值合并、可選鏈、let和const、類語法、私有方法、私有字段、new.target、數(shù)字分隔符、BigInt、解構(gòu)、默認(rèn)參數(shù)、箭頭函數(shù)、異步函數(shù)、await、生成器函數(shù)、…(rest和spread操作符)、模板字面量、二進(jìn)制和八進(jìn)制字面量、**(求冪運(yùn)算符)、計(jì)算屬性/方法名、for-of、for-await-of、屬性的簡(jiǎn)寫語法等。

詳細(xì)介紹新特性和模式:模塊、Promise、迭代、生成器、Symbol、代理、反射、類型化數(shù)組、Atomics、共享內(nèi)存、WeakMap、WeakSet等。

揭示常見的陷阱并闡述如何避免它們。

展示如何跟進(jìn)和參與JavaScript的改進(jìn)流程。

介紹如何在新特性獲得廣泛支持之前使用它們。

作者簡(jiǎn)介

T. J. Crowder是一位擁有30年經(jīng)驗(yàn)的軟件工程師。在他的整個(gè)職業(yè)生涯中,他至少有一半時(shí)間是在使用JavaScript從事開發(fā)工作。他經(jīng)營(yíng)著軟件承包和產(chǎn)品公司Farsight Software。他經(jīng)常在Stack Overflow上為人們提供幫助,他是十大貢獻(xiàn)者之一和JavaScript標(biāo)簽的頂級(jí)貢獻(xiàn)者。當(dāng)他不工作或?qū)懽鲿r(shí),他總是與他美麗的、支持他的妻子和出色的兒子共度美好時(shí)光。

精彩書評(píng)

縱觀ECMAScript的歷史,ES6版本的推出無疑是前端歷史的轉(zhuǎn)折點(diǎn)。ES6引入類的概念、塊級(jí)作用域、解構(gòu)等特性,讓JavaScript語言蛻變成為企業(yè)級(jí)的開發(fā)語言。現(xiàn)代瀏覽器對(duì)ES6的支持已經(jīng)接近98%,因此ES6的新語法可以直接在瀏覽器中運(yùn)行,前端同學(xué)大可將ES5的兼容支持從編譯器中移走。ES2015后續(xù)版本的新特性,JavaScript也在逐漸實(shí)現(xiàn)。而對(duì)于JavaScript早期版本的學(xué)習(xí)者和使用者,有大量知識(shí)點(diǎn)需要汰換更新。這本書正好切中了這點(diǎn),除了詳細(xì)介紹ES2015~ES2020的新特性,以及新特性提案產(chǎn)生的原因,還對(duì)比了新舊做法。非常及時(shí)的一本書,推薦閱讀。

——蒲松洋(花名秦粵) 阿里前端標(biāo)準(zhǔn)化負(fù)責(zé)人,TC39成員,《Serverless入門課》作者

從ES6開始,JavaScript的語言特性面臨爆發(fā)式增長(zhǎng),其新特性的數(shù)量足以新造一門語言。對(duì)我們這一代老程序員來說,比起自己研究規(guī)范,當(dāng)然還是希望有本不但系統(tǒng)介紹新特性,還帶最佳實(shí)踐的書了,不過考慮到語言的發(fā)展速度,希望每年都出這么一本書。

——程劭非(winter) 開課吧Web教學(xué)首席顧問,前阿里巴巴高級(jí)技術(shù)專家

對(duì)于ES新特性,上會(huì)有風(fēng)險(xiǎn),不上也會(huì)有后顧之憂。如今,很多ES新特性都已成為事實(shí)上的標(biāo)準(zhǔn),因此,不管大家是否愿意學(xué)習(xí)和使用,我們都需要直面這個(gè)問題。這本書基本覆蓋了ES2015~ES2020之間的核心特性,是JavaScript相關(guān)開發(fā)者必備的書籍。作者是值得信賴的T.J.Crowder,他積極參與了TC39的很多提案。從內(nèi)容上看,這本書也是非常專業(yè)的,它淺顯易懂,在必要的點(diǎn)上又能深入淺出,是不可多得的一本好書,推薦。

——桑世龍(花名狼叔) Node.js布道者,《狼書》作者

這是一本全面又深入地介紹 ES2015~ES2020的專業(yè)書籍,講解了新時(shí)代的前端應(yīng)該怎樣編寫優(yōu)雅又高效的JavaScript 代碼。不少初學(xué)者面對(duì)這些新特性時(shí)不知道如何下手,這本書提供了豐富的例子和文檔集合,幫助你提升自己的編碼技巧,非常推薦!

——付強(qiáng)(小爝) 新浪移動(dòng)前端負(fù)責(zé)人

ECMAScript 自從 ES6 之后,以年為單位的版本發(fā)布讓新特性的落地明顯加快了步伐。這本書從頂向下分解 ECMAScript,從新特性背景出發(fā),詳解特性設(shè)計(jì),以及在各種具體場(chǎng)景中如何使用新特性獲得更易讀、更健壯的代碼,幫助讀者快速起手這些新工具。這本書絕對(duì)不容錯(cuò)過。

——吳成忠(花名昭朗) Node.js Core Collaborator,TC39代表

在大數(shù)據(jù)與可視化領(lǐng)域,Python與JavaScript并稱前后端構(gòu)建的兩大利器。Python由于網(wǎng)上資料與API的豐富性、規(guī)范性,自學(xué)至熟練難度尚可。JavaScript自上世紀(jì)末誕生以來,歷經(jīng)多版規(guī)范,近年來又隨著Web熱潮急速進(jìn)化,新的框架與標(biāo)準(zhǔn)層出不窮,初學(xué)者往往止步不前。這本書的原作者為國(guó)際頂級(jí)軟件系統(tǒng)開發(fā)者,其譯者亦在互聯(lián)網(wǎng)業(yè)界沉淀多年,前端功力深厚、經(jīng)驗(yàn)豐富。這本書詳述了近5年JavaScript語言的新發(fā)展、新應(yīng)用,實(shí)為前端愛好者、工程師、大數(shù)據(jù)交互系統(tǒng)研究者的福音,故隆重推薦。

——時(shí)磊 北京航空航天大學(xué)計(jì)算機(jī)學(xué)院教授,中國(guó)可視化與可視分析大會(huì)論文主席

前端開發(fā)是需要終生學(xué)習(xí)的,需要程序員真正做到活到老學(xué)到老。JavaScript更是一種極具活力的語言,也是一種常用常新的語言。講解JavaScript基礎(chǔ)的書雖然很多,但是,能夠與時(shí)俱進(jìn)地介紹JavaScript新特性的書籍卻不多。這本書幾乎涵蓋了ES2015~ES2020的所有新特性,以及一些目前處在階段3的新特性,給出了豐富的實(shí)例來幫助讀者理解。這本書淺顯易懂,并經(jīng)常將新特性與之前的語法特性進(jìn)行對(duì)比。即使是對(duì)JavaScript不了解的同學(xué),也可通過本書迅速上手,并對(duì)前端開發(fā)產(chǎn)生興趣和成就感。這是你成為JavaScript高手的必備書籍之一。

——馬劍竹 北京大學(xué)人工智能研究院副教授

目錄

1ES2015~ES2020及后續(xù)版本的

新特性 1

1.1 名稱、定義和術(shù)語 2

1.1.1 Ecma?ECMAScript?TC39? 2

1.1.2 ES6ES7?ES2015ES2020? 2

1.1.3 JavaScript“引擎”、瀏覽器及其他 3

1.2 什么是“新特性” 3

1.3 新特性的推動(dòng)流程 5

1.3.1 誰負(fù)責(zé) 5

1.3.2 流程 5

1.3.3 參與 6

1.3.4 跟上新特性的步伐 7

1.4 舊環(huán)境中使用新特性 8

1.5 本章小結(jié) 122章 塊級(jí)作用域聲明:letconst 13

2.1 letconst的介紹 13

2.2 真正的塊級(jí)作用域 14

2.3 重復(fù)聲明將拋出錯(cuò)誤 15

2.4 提升和暫時(shí)性死區(qū) 15

2.5 一種新的全局變量 17

2.6 const:JavaScript的常量 19

2.6.1 const基礎(chǔ) 19

2.6.2 常量引用的對(duì)象仍然是可變的 20

2.7 循環(huán)中的塊級(jí)作用域 21

2.7.1 “循環(huán)中的閉包”問題 21

2.7.2 綁定:變量、常量以及其他

標(biāo)識(shí)符的工作方式 23

2.7.3 whiledo-while循環(huán) 27

2.7.4 性能影響 28

2.7.5 循環(huán)塊中的const 29

2.7.6 for-in循環(huán)中的const 29

2.8 舊習(xí)換新 30

2.8.1constlet替代var 30

2.8.2 縮小變量的作用域 30

2.8.3 用塊級(jí)作用域替代匿名函數(shù) 303章 函數(shù)的新特性 33

3.1 箭頭函數(shù)和thissuper等詞法 34

3.1.1 箭頭函數(shù)語法 34

3.1.2 箭頭函數(shù)和this詞法 37

3.1.3 箭頭函數(shù)不能被用作構(gòu)造函數(shù) 38

3.2 默認(rèn)參數(shù)值 38

3.2.1 默認(rèn)值是表達(dá)式 39

3.2.2 默認(rèn)值在自己的作用域中被計(jì)算 40

3.2.3 默認(rèn)值不會(huì)增加函數(shù)的arity 42

3.3 “rest”參數(shù) 42

3.4 參數(shù)列表和函數(shù)調(diào)用中的

尾后逗號(hào) 44

3.5 函數(shù)的name屬性 45

3.6 在語句塊中聲明函數(shù) 46

3.6.1 在語句塊中聲明函數(shù):標(biāo)準(zhǔn)語義 48

3.6.2 在語句塊中聲明函數(shù):

傳統(tǒng)Web語義 49

3.7 舊習(xí)換新 51

3.7.1 使用箭頭函數(shù)替代各種訪問this

值的變通方式 51

3.7.2 在不使用this或arguments時(shí),

回調(diào)函數(shù)使用箭頭函數(shù) 52

3.7.3 考慮在更多地方使用箭頭函數(shù) 52

3.7.4 當(dāng)調(diào)用者需要控制this的值時(shí),

不要使用箭頭函數(shù) 53

3.7.5 使用參數(shù)默認(rèn)值,而不是

代碼實(shí)現(xiàn) 53

3.7.6 使用“rest”參數(shù)替代arguments

關(guān)鍵字 53

3.7.7 如有必要,考慮使用尾后逗號(hào) 534章 類 55

4.1 類的概念 55

4.2 介紹新的類語法 56

4.2.1 添加構(gòu)造函數(shù) 57

4.2.2 添加實(shí)例屬性 59

4.2.3 添加原型方法 59

4.2.4 添加靜態(tài)方法 61

4.3 添加訪問器屬性 61

4.4 對(duì)比新語法和舊語法 64

4.5 創(chuàng)建子類 66

4.6 關(guān)鍵字super 69

4.6.1 編寫子類構(gòu)造函數(shù) 69

4.6.2 繼承和訪問超類原型的屬性和

方法 70

4.6.3 繼承靜態(tài)方法 73

4.6.4 靜態(tài)方法中的super 75

4.6.5 返回新實(shí)例的方法 75

4.6.6 內(nèi)置對(duì)象的子類 79

4.6.7 super的使用 81

4.7 移除Object.prototype 83

4.8 new.target 84

4.9 類聲明與類表達(dá)式 87

4.9.1 類聲明 87

4.9.2 類表達(dá)式 88

4.10 更多內(nèi)容 89

4.11 舊習(xí)換新 895章 對(duì)象的新特性 91

5.1 可計(jì)算屬性名 91

5.2 屬性的簡(jiǎn)寫語法 92

5.3 獲取和設(shè)置對(duì)象原型 93

5.3.1 Object.setPrototypeOf 93

5.3.2 瀏覽器環(huán)境中的__proto__屬性 94

5.3.3 瀏覽器環(huán)境中的__proto__字面量

屬性名 94

5.4 對(duì)象方法的簡(jiǎn)寫語法,以及類

之外的super 95

5.5 Symbol 97

5.5.1 定義Symbol的原因 97

5.5.2 創(chuàng)建和使用Symbol 99

5.5.3 Symbol并不用于私有屬性 99

5.5.4 全局Symbol 100

5.5.5 內(nèi)置的Symbol值 103

5.6 對(duì)象的新增方法 104

5.6.1 Object.assign 104

5.6.2 Object.is 105

5.6.3 Object.values 105

5.6.4 Object.entries 106

5.6.5 Object.fromEntries 106

5.6.6 Object.getOwnPropertySymbols 106

5.6.7 Object.getOwnPropertyDescriptors 106

5.7 Symbol.toPrimitive 107

5.8 屬性順序 109

5.9 屬性擴(kuò)展語法 110

5.10 舊習(xí)換新 111

5.10.1 創(chuàng)建對(duì)象時(shí)對(duì)動(dòng)態(tài)變量使用可

計(jì)算屬性名 111

5.10.2 從同名變量初始化對(duì)象時(shí),

使用簡(jiǎn)寫語法 111

5.10.3 使用Object.assign替代自定義的

擴(kuò)展方法或者顯式復(fù)制所有

屬性 112

5.10.4 基于已有對(duì)象創(chuàng)建新對(duì)象時(shí),

使用屬性擴(kuò)展語法 112

5.10.5 使用Symbol避免屬性名沖突 112

5.10.6 使用Object.getPrototypeOf/

setPrototypeOf替代__proto__ 112

5.10.7 使用對(duì)象方法的簡(jiǎn)寫語法來

定義對(duì)象中的方法 1126章 可迭代對(duì)象、迭代器、for-of循環(huán)、

可迭代對(duì)象的展開語法和

生成器 11518章 即將推出的類特性 435

18.1 公有和私有的類字段、方法和

訪問器 435

18.1.1 公有字段(屬性)定義 436

18.1.2 私有字段 440

18.1.3 私有實(shí)例方法和訪問器 446

18.1.4 公有靜態(tài)字段、私有靜態(tài)字段和

私有靜態(tài)方法 450

18.2 舊習(xí)換新 452

18.2.1 使用屬性定義,而不是在構(gòu)造

函數(shù)中創(chuàng)建屬性(在適當(dāng)?shù)?
情況下) 452

18.2.2 使用私有類字段,而不是前綴

(在適當(dāng)?shù)那闆r下) 453

18.2.3 使用私有方法(而不是類外的

函數(shù))進(jìn)行私有操作 45319章 展望未來 457

19.1 頂層await 458

19.1.1 概述和用例 458

19.1.2 示例 459

19.1.3 錯(cuò)誤處理 463

19.2 WeakRef和清理回調(diào) 464

19.2.1 WeakRef 464

19.2.2 清理回調(diào) 466

19.3 正則表達(dá)式匹配索引 471

19.4 String.prototype.replaceAll 472

19.5 Atomics的asyncWait方法 472

19.6 其他語法微調(diào) 473

19.6.1 數(shù)字分隔符 473

19.6.2 支持hashbang 474

19.7 廢棄舊的正則表達(dá)式特性 474

19.8 感謝閱讀 475

附錄 出色的特性及對(duì)應(yīng)的章

(J.K. Rowling致歉) 477

前言/序言
如果你是JavaScript(或TypeScript)開發(fā)人員,并且想了解在過去幾年中被添加到JavaScript的最新特性,以及如何在語言不斷發(fā)展的過程中掌握新動(dòng)態(tài),那么《深入理解現(xiàn)代JavaScript》適用于你。只要你努力尋找,并對(duì)你信任的網(wǎng)站持謹(jǐn)慎態(tài)度,就幾乎可以在網(wǎng)上找到《深入理解現(xiàn)代JavaScript》中的所有內(nèi)容;《深入理解現(xiàn)代JavaScript》提供了所有的技術(shù)細(xì)節(jié),同時(shí)告訴你如何跟蹤不斷發(fā)生的變化。

《深入理解現(xiàn)代JavaScript》內(nèi)容

下面是每一章的內(nèi)容概覽。

第1章,ES2015~ES2020及后續(xù)版本的新特性——首先介紹JavaScript世界中的各種角色和一些重要的術(shù)語;然后描述“新特性”在《深入理解現(xiàn)代JavaScript》中的定義,以及將新特性添加到JavaScript的流程,包括這個(gè)流程是如何管理的,由誰管理,以及如何跟蹤和參與這一流程;最后介紹一些在舊環(huán)境中使用新特性所需的工具(或在當(dāng)前環(huán)境中使用最新特性所需的工具)。

第2章,塊級(jí)作用域聲明:let和const——涵蓋新的聲明關(guān)鍵字let和const以及它們支持的新作用域,深入介紹循環(huán)中的作用域,重點(diǎn)說明for循環(huán)中作用域的處理。

第3章,函數(shù)的新特性——涵蓋與函數(shù)有關(guān)的各種新特性:箭頭函數(shù)、默認(rèn)參數(shù)值、“rest”參數(shù)、name屬性和其他的語法改進(jìn)。

第4章,類——涵蓋新的class特性:基本概念、子類、super、創(chuàng)建內(nèi)置對(duì)象(如Array和Error)的子類,以及new.target特性。私有字段和其他處于提案流程中的特性將在第18章介紹。

第5章,對(duì)象的新特性——涵蓋可計(jì)算屬性名、屬性的簡(jiǎn)寫語法、獲取和設(shè)置對(duì)象的原型、新的Symbol類型以及它與對(duì)象的關(guān)系、方法語法、屬性順序、屬性的展開語法,以及大量新的對(duì)象方法。

第6章,可迭代對(duì)象、迭代器、for-of循環(huán)、可迭代對(duì)象的展開語法和生成器——涵蓋迭代(一種強(qiáng)大的用于集合和列表的新工具),以及生成器(一種強(qiáng)大的與函數(shù)交互的新方式)。

第7章,解構(gòu)——涵蓋解構(gòu)這一重要的新語法,以及如何使用它從對(duì)象、數(shù)組和其他可迭代對(duì)象中提取數(shù)據(jù),該章包含默認(rèn)值、嵌套提取等語法。

第8章,Promise——深入研究這個(gè)用于處理異步過程的重要新工具。

第9章,異步函數(shù)、迭代器和生成器——詳細(xì)介紹新的async/await語法(它允許你在異步代碼中使用熟悉的邏輯流結(jié)構(gòu)),以及異步迭代器和生成器的工作方式,還有新的for-await-of循環(huán)。

第10章,模板字面量、標(biāo)簽函數(shù)和新的字符串特性——描述模板字面量語法、標(biāo)簽函數(shù)和許多新的字符串特性,如更好的Unicode支持、常見方法的更新以及很多新方法。

第11章,新數(shù)組特性、類型化數(shù)組——涵蓋很多新的數(shù)組方法、各種已有方法的更新、類型化數(shù)組(如Int32Array)以及與類型化數(shù)組數(shù)據(jù)交互的高級(jí)特性。

第12章,Map和Set——介紹所有新的有鍵集合Map和Set,以及這些集合的“弱”版本W(wǎng)eakMap和WeakSet。

第13章,模塊——深入了解這個(gè)令人興奮且強(qiáng)大的代碼組織方式。

第14章,反射和代理——涵蓋Reflect和Proxy對(duì)象的強(qiáng)大動(dòng)態(tài)元編程特性以及它們之間的關(guān)系。

第15章,正則表達(dá)式更新——描述過去幾年正則表達(dá)式出現(xiàn)的所有更新,如新的標(biāo)志、命名捕獲組、反向預(yù)查和新的Unicode特性。

第16章,共享內(nèi)存——涵蓋JavaScript程序中有關(guān)跨線程共享內(nèi)存的復(fù)雜而棘手的方面,其中包括SharedArrayBuffer和Atomics對(duì)象、基本概念和陷阱注釋。

第17章,其他特性——涵蓋很多不適合放到其他章節(jié)的新特性:BigInt、新的整數(shù)字面量語法(二進(jìn)制、新的八進(jìn)制)、省略catch 綁定的異常、新的 Math 方法、取冪運(yùn)算符、Math對(duì)象的擴(kuò)展、尾遞歸優(yōu)化、空值合并、可選鏈,以及出于兼容性原因而定義的“規(guī)范附錄B”(僅瀏覽器)特性。

第18章,即將推出的類特性——描述在提案流程中處于階段3的類的增強(qiáng)特性:公有字段聲明、私有字段和私有方法。

第19章,展望未來——最后,描述目前正在進(jìn)行的一些改進(jìn):頂層await、WeakRef和清理回調(diào)、正則表達(dá)式匹配索引、Atomics.asyncWait、一些新的語法特性、舊的正則表達(dá)式特性,以及各種即將推出的標(biāo)準(zhǔn)庫擴(kuò)展。

附錄,出色的特性及對(duì)應(yīng)的章(向J. K. Rowling致歉)——提供新特性的列表,并指出每個(gè)特性所屬的章節(jié)。這些列表包括:按字母順序排列的特性,新的基礎(chǔ)知識(shí),新的語法、關(guān)鍵字、運(yùn)算符、循環(huán)等,新的字面量形式,標(biāo)準(zhǔn)庫的擴(kuò)展和更新,以及其他特性。

《深入理解現(xiàn)代JavaScript》讀者對(duì)象

《深入理解現(xiàn)代JavaScript》的讀者應(yīng)該:

● 至少對(duì)JavaScript有基本的了解。

● 想了解過去幾年中增加的新特性。

這不是一本為專家編寫的學(xué)術(shù)書籍,而是一本面向JavaScript開發(fā)人員的實(shí)用性書籍。

幾乎所有拿起《深入理解現(xiàn)代JavaScript》的人都知道書中的一些內(nèi)容,但幾乎沒有人拿起這本書時(shí)就已經(jīng)知道了所有內(nèi)容。也許你已經(jīng)清楚let和const的基礎(chǔ)知識(shí),但是還沒有完全掌握async函數(shù)。也許Promise對(duì)你來說已經(jīng)是舊語法了,但你在一些現(xiàn)代代碼中看到了一些不認(rèn)識(shí)的語法。你可以在《深入理解現(xiàn)代JavaScript》中找到ES2015~ES2020(及后續(xù)版本)的所有新特性。

如何使用《深入理解現(xiàn)代JavaScript》

建議先閱讀第1章。第1章定義了《深入理解現(xiàn)代JavaScript》其余部分使用的很多術(shù)語。如果跳過第1章,你很可能會(huì)在閱讀《深入理解現(xiàn)代JavaScript》時(shí)遇到困難。

之后,你可以選擇按順序閱讀各章,或者跳著閱讀。

我以這樣的順序安排各章內(nèi)容是有原因的,而且每個(gè)章節(jié)都與前面章節(jié)息息相關(guān)。例如,第8章介紹的Promise,對(duì)于理解第9章中的async函數(shù)很重要。當(dāng)然,建議你按照我安排的順序閱讀《深入理解現(xiàn)代JavaScript》。不過我敢肯定,你是一個(gè)有自己想法的聰明人,如果你不按照順序閱讀,也沒關(guān)系。

建議你閱讀(或者至少略讀)所有的章節(jié)(第16章可能除外,稍后再談這個(gè)問題)。即使你認(rèn)為自己已了解某個(gè)特性,也可能不知道或者只是認(rèn)為自己知道書中的一些內(nèi)容。例如,也許你打算跳過第2章,因?yàn)槟阋呀?jīng)知道關(guān)于let和const的所有知識(shí)。你甚至知道為什么下面的代碼創(chuàng)建了10個(gè)不同的變量i:

for (let i = 0; i < 10; ++i) { //

setTimeout(() => console.log(i));

}

還有,如果像這樣使用:

let a = “ay”;

var b = “bee”;

為什么會(huì)在全局作用域創(chuàng)建window.b屬性,卻沒有創(chuàng)建window.a屬性?即使這些你都清楚,我也建議你略讀第2章,以確保你掌握所有內(nèi)容。

第16章有點(diǎn)特殊:它是關(guān)于如何在線程之間共享內(nèi)存的。大多數(shù)JavaScript開發(fā)人員都不需要在線程之間共享內(nèi)存。但有些開發(fā)人員需要,這也是第16章存在的原因;而大多數(shù)人不需要,如果你屬于這一類,則可跳過該章;如果你認(rèn)為自己在將來某個(gè)時(shí)候需要共享內(nèi)存,可再回到第16章中學(xué)習(xí)它,這沒關(guān)系。

此外,運(yùn)行《深入理解現(xiàn)代JavaScript》的示例,用它們進(jìn)行試驗(yàn),祝你編程愉快。文章來源地址http://www.zghlxwxcb.cn/news/detail-751977.html

到了這里,關(guān)于手把手帶你學(xué)習(xí) JavaScript 的 ES6 ~ ESn的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 手把手帶你搞懂AMS啟動(dòng)原理

    手把手帶你搞懂AMS啟動(dòng)原理

    徹底搞懂AMS即ActivityManagerService,看這一篇就夠了 最近那么多教學(xué)視頻(特別是搞車載的)都在講AMS,可能這也跟要快速啟動(dòng)一個(gè)app(甚至是提高安卓系統(tǒng)啟動(dòng)速度有關(guān)),畢竟作為安卓系統(tǒng)的核心系統(tǒng)服務(wù)之一,AMS以及PMS都是很重要的,而我之前在 應(yīng)用的開端–PackageManag

    2024年02月12日
    瀏覽(506)
  • 【手把手帶你學(xué)JavaSE】String類(下篇)

    【手把手帶你學(xué)JavaSE】String類(下篇)

    上篇我們已經(jīng)學(xué)習(xí)了String類的一些知識(shí),接下來我們接著學(xué)習(xí)! 字符串查找也是字符串中非常常見的操作,String類提供的常用查找的方法。 static String valueof() 數(shù)值轉(zhuǎn)字符串 Integer.parseInt() 字符串整形 Double.parseDouble() 字符串轉(zhuǎn)浮點(diǎn)型 String toUpperCase() 轉(zhuǎn)大寫 String toLowerCase() 轉(zhuǎn)小

    2024年02月01日
    瀏覽(367)
  • 手把手帶你調(diào)參Yolo v5(二)

    手把手帶你調(diào)參Yolo v5(二)

    來源:投稿 作者:王同學(xué) ???????編輯:學(xué)姐 今天我們繼續(xù)上次的YOLOv5參數(shù)解析,這次主要解析源碼中train.py文件中包含的參數(shù)。 1.1\\\'--weights\\\' 1.2\\\'--cfg\\\' 1.3\\\'--data\\\' 1.4\\\'--hyp\\\' 1.5\\\'--epochs\\\' 1.6\\\'--batch-size\\\' 1.7\\\'--imgsz\\\', \\\'--img\\\', \\\'--img-size\\\' 1.8\\\'--rect\\\'?? 1.9\\\'--resume\\\'?? 1.10\\\'--nosave\\\' 1.11\\\'--nova

    2024年02月05日
    瀏覽(93)
  • 手把手帶你實(shí)現(xiàn)DQN(TensorFlow2)

    手把手帶你實(shí)現(xiàn)DQN(TensorFlow2)

    ? ? ? ? 大家好,今天給大家?guī)鞤QN的思路及實(shí)現(xiàn)方法。 ? ? ? ? 關(guān)于DQN,就不用我多做介紹了,我會(huì)以最簡(jiǎn)短明白的闡述講解DQN,盡量讓你在10分鐘內(nèi)理清思路。 ? ? ? ? 非常重要的一點(diǎn)?。。?? ? ? ? 非常重要的一點(diǎn)?。。∥以贕itHub上下載了DQN代碼,跑完后,我重寫一

    2023年04月08日
    瀏覽(103)
  • 【手把手帶你學(xué)JavaSE】第六篇:類和對(duì)象

    【手把手帶你學(xué)JavaSE】第六篇:類和對(duì)象

    對(duì)了!給大家推薦一個(gè)刷題學(xué)習(xí)、面試神器——??途W(wǎng) 里面有非常多的題庫,跟面試經(jīng)驗(yàn)~非常的良心??! 什么是類? 什么是對(duì)象? 怎么去理解這兩個(gè)抽象的概念呢? Java是一門純面向?qū)ο蟮恼Z言(Object Oriented Program,繼承OOP),在面向?qū)ο蟮氖澜缋铮磺薪詾閷?duì)象。 面向?qū)ο?/p>

    2023年04月20日
    瀏覽(90)
  • 手把手帶你配置一個(gè)DHCP服務(wù)器

    最近部門內(nèi)部成立一個(gè)網(wǎng)絡(luò)興趣小組,初衷是通過網(wǎng)絡(luò)知識(shí)學(xué)習(xí),在遇到網(wǎng)絡(luò)問題時(shí)能夠承擔(dān)起一個(gè)與網(wǎng)絡(luò)側(cè)同學(xué)有效溝通的“連接人”的角色,求學(xué)這么多年其實(shí)也陸續(xù)學(xué)了不少的網(wǎng)絡(luò)相關(guān)課程,本科的計(jì)算機(jī)網(wǎng)絡(luò)、碩士的高等計(jì)網(wǎng)等,不過當(dāng)時(shí)大多都停留在理論層面,趁

    2024年02月05日
    瀏覽(232)
  • 手把手帶你做一套畢業(yè)設(shè)計(jì)-征程開啟

    手把手帶你做一套畢業(yè)設(shè)計(jì)-征程開啟

    ?本文是《Vue + SpringBoot前后端分離項(xiàng)目實(shí)戰(zhàn)》專欄的開篇,文本將會(huì)包含我們創(chuàng)作這個(gè)專欄的初衷,專欄的主體內(nèi)容,以及我們專欄的后續(xù)規(guī)劃。關(guān)于這套畢業(yè)設(shè)計(jì)的作者呢前端部分由狗哥負(fù)責(zé),服務(wù)端部分則由天哥操刀。我們力求畢業(yè)生或者新手通過學(xué)完本專欄,可以開心

    2023年04月10日
    瀏覽(900)
  • 實(shí)戰(zhàn)項(xiàng)目:手把手帶你實(shí)現(xiàn)一個(gè)高并發(fā)內(nèi)存池

    實(shí)戰(zhàn)項(xiàng)目:手把手帶你實(shí)現(xiàn)一個(gè)高并發(fā)內(nèi)存池

    1.這個(gè)項(xiàng)目做的是什么? 當(dāng)前項(xiàng)目是實(shí)現(xiàn)一個(gè)高并發(fā)的內(nèi)存池,他的原型是google的一個(gè)開源項(xiàng)目tcmalloc,tcmalloc全稱Thread-Caching Malloc,即線程緩存的malloc,實(shí)現(xiàn)了高效的多線程內(nèi)存管理,用于替代系統(tǒng)的內(nèi)存分配相關(guān)的函數(shù)(malloc、free)。 2.項(xiàng)目目標(biāo) 模擬實(shí)現(xiàn)出一個(gè)自己的高

    2023年04月26日
    瀏覽(58)
  • 手把手帶你啃透比特幣白皮書-摘要

    很多人雖然了解了區(qū)塊鏈,也可能參與了一些項(xiàng)目,但是可能沒有見過比特幣白皮書,也沒有讀過。我接下來就要和大家聊一聊,什么是白皮書,尤其是來給大家精讀一下比特幣的白皮書。 通過比特幣白皮書,你能夠 了解到真正的白皮書應(yīng)該是什么樣形式的 。因?yàn)楹芏嗳丝?/p>

    2024年02月02日
    瀏覽(147)
  • 真手把手帶你跑r3live

    真手把手帶你跑r3live

    實(shí)驗(yàn)室來了臺(tái)機(jī)器人,上面的設(shè)備是依據(jù)r3live的設(shè)備選的,因?yàn)镽3LIVE的效果太好了,特別感謝大佬的開源精神。這幾天把車子跑起來,就打算寫個(gè)博客記錄一下。 本人能力有限,可能某些地方會(huì)有些問題,若發(fā)現(xiàn)問題,還請(qǐng)指正。 效果如下: 在多傳感器融合slam中,由于會(huì)集

    2024年02月09日
    瀏覽(360)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包