-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
深入理解現(xiàn)代JavaScript 版權(quán)信息
- ISBN:9787302602118
- 條形碼:9787302602118 ; 978-7-302-60211-8
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
深入理解現(xiàn)代JavaScript 本書特色
JavaScript是一門快速發(fā)展的語言,對于有經(jīng)驗的開發(fā)人員來說,如要掌握所有新添加的特性,可能會面臨挑戰(zhàn)。本書不僅會帶你探索世界上語言的新特性,而且會向你展示如何跟蹤這門語言的后續(xù)發(fā)展。本書首先介紹將新特性添加到 JavaScript 的流程,包括這個流程是如何管理的,以及由誰來管理;隨后深入詳細地描述每個新特性或者有調(diào)整的舊特性,并闡述示例用法、可能的陷阱;本書還將提供專業(yè)意見,教你使用新特性代替舊用法。
深入理解現(xiàn)代JavaScript 內(nèi)容簡介
本書主要內(nèi)容 l 涵蓋ES2015~ES2020中JavaScript的所有新特性以及下一版的預(yù)覽。 l 探索**的語法:空值合并、可選鏈、let和const、類語法、私有方法、私有字段、new.target、數(shù)字分隔符、BigInt、解構(gòu)、默認參數(shù)、箭頭函數(shù)、異步函數(shù)、await、生成器函數(shù)、…(rest和spread操作符)、模板字面量、二進制和八進制字面量、**(求冪運算符)、計算屬性/方法名、for-of、for-await-of、屬性的簡寫語法等。 l 詳細介紹新特性和模式:模塊、Promise、迭代、生成器、Symbol、代理、反射、類型化數(shù)組、Atomics、共享內(nèi)存、WeakMap、WeakSet等。 l 揭示常見的陷阱并闡述如何避免它們。 l 展示如何跟進和參與JavaScript的改進流程。 l 介紹如何在新特性獲得廣泛支持之前使用它們。
深入理解現(xiàn)代JavaScript 目錄
第1章 ES2015~ES2020及后續(xù)版本的
新特性 1
1.1 名稱、定義和術(shù)語 2
1.1.1 Ecma?ECMAScript?TC39? 2
1.1.2 ES6?ES7?ES2015?ES2020? 2
1.1.3 JavaScript“引擎”、瀏覽器及其他 3
1.2 什么是“新特性” 3
1.3 新特性的推動流程 5
1.3.1 誰負責 5
1.3.2 流程 5
1.3.3 參與 6
1.3.4 跟上新特性的步伐 7
1.4 舊環(huán)境中使用新特性 8
1.5 本章小結(jié) 12
第2章 塊級作用域聲明:let和const 13
2.1 let和const的介紹 13
2.2 真正的塊級作用域 14
2.3 重復(fù)聲明將拋出錯誤 15
2.4 提升和暫時性死區(qū) 15
2.5 一種新的全局變量 17
2.6 const:JavaScript的常量 19
2.6.1 const基礎(chǔ) 19
2.6.2 常量引用的對象仍然是可變的 20
2.7 循環(huán)中的塊級作用域 21
2.7.1 “循環(huán)中的閉包”問題 21
2.7.2 綁定:變量、常量以及其他
標識符的工作方式 23
2.7.3 while和do-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.1 用const或let替代var 30
2.8.2 縮小變量的作用域 30
2.8.3 用塊級作用域替代匿名函數(shù) 30
第3章 函數(shù)的新特性 33
3.1 箭頭函數(shù)和this、super等詞法 34
3.1.1 箭頭函數(shù)語法 34
3.1.2 箭頭函數(shù)和this詞法 37
3.1.3 箭頭函數(shù)不能被用作構(gòu)造函數(shù) 38
3.2 默認參數(shù)值 38
3.2.1 默認值是表達式 39
3.2.2 默認值在自己的作用域中被計算 40
3.2.3 默認值不會增加函數(shù)的arity 42
3.3 “rest”參數(shù) 42
3.4 參數(shù)列表和函數(shù)調(diào)用中的
尾后逗號 44
3.5 函數(shù)的name屬性 45
3.6 在語句塊中聲明函數(shù) 46
3.6.1 在語句塊中聲明函數(shù):標準語義 48
3.6.2 在語句塊中聲明函數(shù):
傳統(tǒng)Web語義 49
3.7 舊習(xí)換新 51
3.7.1 使用箭頭函數(shù)替代各種訪問this
值的變通方式 51
3.7.2 在不使用this或arguments時,
回調(diào)函數(shù)使用箭頭函數(shù) 52
3.7.3 考慮在更多地方使用箭頭函數(shù) 52
3.7.4 當調(diào)用者需要控制this的值時,
不要使用箭頭函數(shù) 53
3.7.5 使用參數(shù)默認值,而不是
代碼實現(xiàn) 53
3.7.6 使用“rest”參數(shù)替代arguments
關(guān)鍵字 53
3.7.7 如有必要,考慮使用尾后逗號 53
第4章 類 55
4.1 類的概念 55
4.2 介紹新的類語法 56
4.2.1 添加構(gòu)造函數(shù) 57
4.2.2 添加實例屬性 59
4.2.3 添加原型方法 59
4.2.4 添加靜態(tài)方法 61
4.3 添加訪問器屬性 61
4.4 對比新語法和舊語法 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 返回新實例的方法 75
4.6.6 內(nèi)置對象的子類 79
4.6.7 super的使用 81
4.7 移除Object.prototype 83
4.8 new.target 84
4.9 類聲明與類表達式 87
4.9.1 類聲明 87
4.9.2 類表達式 88
4.10 更多內(nèi)容 89
4.11 舊習(xí)換新 89
第5章 對象的新特性 91
5.1 可計算屬性名 91
5.2 屬性的簡寫語法 92
5.3 獲取和設(shè)置對象原型 93
5.3.1 Object.setPrototypeOf 93
5.3.2 瀏覽器環(huán)境中的__proto__屬性 94
5.3.3 瀏覽器環(huán)境中的__proto__字面量
屬性名 94
5.4 對象方法的簡寫語法,以及類
之外的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 對象的新增方法 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 屬性擴展語法 110
5.10 舊習(xí)換新 111
5.10.1 創(chuàng)建對象時對動態(tài)變量使用可
計算屬性名 111
5.10.2 從同名變量初始化對象時,
使用簡寫語法 111
5.10.3 使用Object.assign替代自定義的
擴展方法或者顯式復(fù)制所有
屬性 112
5.10.4 基于已有對象創(chuàng)建新對象時,
使用屬性擴展語法 112
5.10.5 使用Symbol避免屬性名沖突 112
5.10.6 使用Object.getPrototypeOf/
setPrototypeOf替代__proto__ 112
5.10.7 使用對象方法的簡寫語法來
定義對象中的方法 112
第6章 可迭代對象、迭代器、for-of循環(huán)、
可迭代對象的展開語法和
生成器 115
第18章 即將推出的類特性 435
18.1 公有和私有的類字段、方法和
訪問器 435
18.1.1 公有字段(屬性)定義 436
18.1.2 私有字段 440
18.1.3 私有實例方法和訪問器 446
18.1.4 公有靜態(tài)字段、私有靜態(tài)字段和
私有靜態(tài)方法 450
18.2 舊習(xí)換新 452
18.2.1 使用屬性定義,而不是在構(gòu)造
函數(shù)中創(chuàng)建屬性(在適當?shù)?
情況下) 452
18.2.2 使用私有類字段,而不是前綴
(在適當?shù)那闆r下) 453
18.2.3 使用私有方法(而不是類外的
函數(shù))進行私有操作 453
第19章 展望未來 457
19.1 頂層await 458
19.1.1 概述和用例 458
19.1.2 示例 459
19.1.3 錯誤處理 463
19.2 WeakRef和清理回調(diào) 464
19.2.1 WeakRef 464
19.2.2 清理回調(diào) 466
19.3 正則表達式匹配索引 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 廢棄舊的正則表達式特性 474
19.8 感謝閱讀 475
附錄 出色的特性及對應(yīng)的章
(向J.K. Rowling致歉) 477
深入理解現(xiàn)代JavaScript 作者簡介
T. J. Crowder是一位擁有30年經(jīng)驗的軟件工程師。在他的整個職業(yè)生涯中,他至少有一半時間是在使用JavaScript從事開發(fā)工作。他經(jīng)營著軟件承包和產(chǎn)品公司Farsight Software。他經(jīng)常在Stack Overflow上為人們提供幫助,他是十大貢獻者之一和JavaScript標簽的頂級貢獻者。當他不工作或?qū)懽鲿r,他總是與他美麗的、支持他的妻子和出色的兒子共度美好時光。
- >
羅庸西南聯(lián)大授課錄
- >
經(jīng)典常談
- >
龍榆生:詞曲概論/大家小書
- >
二體千字文
- >
伊索寓言-世界文學(xué)名著典藏-全譯本
- >
自卑與超越
- >
伯納黛特,你要去哪(2021新版)
- >
推拿