注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)深入理解JavaScript特性

深入理解JavaScript特性

深入理解JavaScript特性

定 價(jià):¥79.00

作 者: 尼古拉斯·貝瓦夸(Nicolás Bevacqua) 著,李松峰,劉冰晶,高峰 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115510402 出版時(shí)間: 2019-05-01 包裝: 平裝
開本: 16開 頁數(shù): 241 字?jǐn)?shù):  

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

  本書旨在讓讀者輕松學(xué)習(xí)JavaScript的新進(jìn)展,包括ES6及后續(xù)更新。書中提供了大量實(shí)用示例,以循序漸進(jìn)的方式講解了異步函數(shù)、對(duì)象解構(gòu)、動(dòng)態(tài)導(dǎo)入及異步生成器等內(nèi)容。本書不僅介紹了箭頭函數(shù)、解構(gòu)、模板字面量以及其他語法方面的新元素,還全面展示了ES6引入的流程控制機(jī)制,以及如何高效地簡(jiǎn)化自己的代碼。本書的討論還涉及ES6內(nèi)置的新集合類型、使用代理控制屬性訪問、ES6中內(nèi)置API的改進(jìn)、CommonJS與ECMAScript模塊的互用性等方面。

作者簡(jiǎn)介

  尼古拉斯·貝瓦夸(Nicolás Bevacqua)知名JavaScript布道師,來自阿根廷的JavaScript編程高手,目前是Elastic公司用戶界面工程師。另著有《JavaScript Web應(yīng)用開發(fā)》一書?!咀g者簡(jiǎn)介】李松峰360前端開發(fā)專家、前端TC委員、W3C AC代表,奇舞團(tuán)Web字體服務(wù)“奇字庫”作者。劉冰晶畢業(yè)于北京郵電大學(xué),現(xiàn)為奇舞團(tuán)前端開發(fā)工程師,專注于數(shù)據(jù)可視化以及前端動(dòng)畫領(lǐng)域。高峰碩士,畢業(yè)于中國科學(xué)技術(shù)大學(xué)軟件學(xué)院?,F(xiàn)為奇虎360前端開發(fā)工程師?!緦徯:?jiǎn)介】黃小璐畢業(yè)于華中科技大學(xué)計(jì)算機(jī)學(xué)院。現(xiàn)為奇虎360軟件開發(fā)工程師。參與翻譯了《高性能HTML5》《移動(dòng)Web手冊(cè)》《大型JavaScript應(yīng)用*佳實(shí)踐指南》《Web開發(fā)**指南》等書。歐雪雯前端開發(fā)工程師,多年從事科技、前端技術(shù)領(lǐng)域業(yè)余翻譯工作。

圖書目錄

序 xi
前言 xiii
第 1章 ECMAScript和JavaScript的未來 1
1.1 JavaScript標(biāo)準(zhǔn)簡(jiǎn)史 1
1.2 持續(xù)迭代的ECMAScript 3
1.3 瀏覽器支持和輔助工具 5
1.3.1 Babel轉(zhuǎn)譯器簡(jiǎn)介 5
1.3.2 使用ESLint提高代碼質(zhì)量和一致性 9
1.4 ES6特性 11
1.5 JavaScript的未來 12
第 2章 ES6基礎(chǔ) 14
2.1 對(duì)象字面量 14
2.1.1 屬性值簡(jiǎn)寫 14
2.1.2 可計(jì)算屬性名 15
2.1.3 方法定義 17
2.2 箭頭函數(shù) 18
2.2.1 詞法作用域 19
2.2.2 箭頭函數(shù)的寫法 20
2.2.3 優(yōu)點(diǎn)和用例 21
2.3 解構(gòu) 22
2.3.1 對(duì)象的解構(gòu) 22
2.3.2 數(shù)組的解構(gòu) 25
2.3.3 函數(shù)參數(shù)的默認(rèn)值 25
2.3.4 函數(shù)參數(shù)的解構(gòu) 26
2.3.5 解構(gòu)的用例 28
2.4 剩余參數(shù)和擴(kuò)展運(yùn)算符 29
2.4.1 剩余參數(shù) 29
2.4.2 擴(kuò)展運(yùn)算符 30
2.5 模板字面量 32
2.5.1 字符串插值 32
2.5.2 多行模板字面量 33
2.5.3 標(biāo)簽?zāi)0濉?5
2.6 let和const聲明 37
2.6.1 塊級(jí)作用域和let聲明 38
2.6.2 暫時(shí)性死區(qū) 39
2.6.3 const聲明 41
2.6.4 const和let的優(yōu)勢(shì) 42
第3章 類、符號(hào)、對(duì)象和裝飾器 44
3.1 類 44
3.1.1 使用類 44
3.1.2 類的屬性和方法 47
3.1.3 類的繼承 49
3.2 符號(hào) 51
3.2.1 本地符號(hào) 51
3.2.2 符號(hào)的實(shí)際用法 53
3.2.3 全局符號(hào)注冊(cè)表 55
3.2.4 眾所周知的符號(hào) 57
3.3 對(duì)象的內(nèi)置改進(jìn) 58
3.3.1 使用Object.a(chǎn)ssign擴(kuò)展對(duì)象 58
3.3.2 使用Object.is進(jìn)行對(duì)象比較 61
3.3.3 Object.setPrototypeOf 62
3.4 裝飾器 63
3.4.1 初識(shí)JavaScript裝飾器 63
3.4.2 裝飾器疊加及不變性提醒 64
3.4.3 用例:C#中的特性 64
3.4.4 在JavaScript中裝飾屬性 66
第4章 迭代與流程控制 68
4.1 Promise 68
4.1.1 快速理解Promise 68
4.1.2 Promise的延續(xù)與連綴 72
4.1.3 創(chuàng)建Promise 76
4.1.4 Promise的狀態(tài) 78
4.1.5 Promise#finally提案 79
4.1.6 Promise.a(chǎn)ll和Promise.race 81
4.2 迭代器協(xié)議與可迭代協(xié)議 83
4.2.1 迭代的原理 83
4.2.2 無窮序列 85
4.2.3 迭代對(duì)象以生成鍵/值對(duì) 88
4.2.4 打造多功能播放列表 90
4.3 生成器函數(shù)與生成器對(duì)象 93
4.3.1 生成器基礎(chǔ) 93
4.3.2 手工迭代生成器 96
4.3.3 將生成器混入可迭代對(duì)象 97
4.3.4 使用生成器遍歷樹 99
4.3.5 傳遞生成器函數(shù) 101
4.3.6 處理異步流 102
4.3.7 在生成器上拋出錯(cuò)誤 103
4.3.8 代替生成器返回 104
4.3.9 基于生成器的異步I/O 105
4.4 異步函數(shù) 109
4.4.1 各種異步代碼 109
4.4.2 使用async/await 111
4.4.3 并發(fā)異步流 112
4.4.4 錯(cuò)誤處理 113
4.4.5 深入理解異步函數(shù)114
4.5 異步迭代 119
4.5.1 異步迭代器 119
4.5.2 異步生成器 120
第5章 巧妙使用ES中的集合 122
5.1 使用ES6 map 124
5.1.1 初識(shí)ES6 map 124
5.1.2 散列映射和DOM元素 128
5.2 理解和使用WeakMap 130
5.3 ES6中的Set 131
5.4 ES6 WeakSet 133
第6章 使用代理控制屬性訪問 136
6.1 了解代理 136
6.1.1 捕獲get訪問 137
6.1.2 捕獲set訪問 138
6.1.3 通過代理實(shí)現(xiàn)模式驗(yàn)證 140
6.2 可撤銷代理 142
6.3 代理捕獲器 143
6.3.1 has捕獲器 143
6.3.2 deleteProperty捕獲器 144
6.3.3 defineProperty捕獲器 146
6.3.4 ownKeys捕獲器 148
6.4 高級(jí)代理捕獲器 150
6.4.1 getOwnPropertyDescriptor捕獲器 150
6.4.2 apply捕獲器 151
6.4.3 construct捕獲器 154
6.4.4 getPrototypeOf捕獲器 156
6.4.5 setPrototypeOf捕獲器 157
6.4.6 preventExtensions捕獲器 158
6.4.7 isExtensible捕獲器 159
第7章 ES6中內(nèi)置API的改進(jìn) 161
7.1 數(shù)字 161
7.1.1 二進(jìn)制和八進(jìn)制字面量 161
7.1.2 Number.isNaN 162
7.1.3 Number.isFinite 164
7.1.4 Number.parseInt 165
7.1.5 Number.parseFloat 166
7.1.6 Number.isInteger 166
7.1.7 Number.EPSILON 167
7.1.8 Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER 167
7.1.9 Number.isSafeInteger 168
7.2 Math 170
7.2.1 Math.sign 171
7.2.2 Math.trunc 171
7.2.3 Math.cbrt 171
7.2.4 Math.expm1 172
7.2.5 Math.log1p 172
7.2.6 Math.log10 173
7.2.7 Math.log2 173
7.2.8 三角函數(shù)174
7.2.9 Math.hypot 174
7.2.10 按位計(jì)算助手 174
7.3 字符串和Unicode 175
7.3.1 String#startsWith 175
7.3.2 String#endsWith 176
7.3.3 String#includes 177
7.3.4 String#repeat 177
7.3.5 字符串填充和去空白 179
7.3.6 Unicode 180
7.3.7 String.prototype[Symbol.iterator] 181
7.3.8 有關(guān)分割字形段的提案 182
7.3.9 String#codePointAt 183
7.3.10 String.fromCodePoint 184
7.3.11 Unicode-Aware字符串反轉(zhuǎn) 185
7.3.12 String#normalize 185
7.4 正則表達(dá)式 186
7.4.1 粘連修飾符/y 186
7.4.2 Unicode修飾符/u 187
7.4.3 具名捕獲組 188
7.4.4 Unicode屬性轉(zhuǎn)義 190
7.4.5 后行斷言 191
7.4.6 新的/s(dotAll)修飾符 193
7.4.7 String#matchAll 193
7.5 Array 196
7.5.1 Array.from 196
7.5.2 Array.of 198
7.5.3 Array#copyWithin 199
7.5.4 Array#fill 200
7.5.5 Array#find和Array#findIndex 201
7.5.6 Array#keys 201
7.5.7 Array#values 202
7.5.8 Array#entries 202
7.5.9 Array.prototype[Symbol.iterator] 202
第8章 JavaScript模塊 204
8.1 CommonJS 204
8.2 JavaScript模塊 209
8.2.1 嚴(yán)格模式 209
8.2.2 export語句 209
8.2.3 import語句 213
8.2.4 動(dòng)態(tài)import() 215
8.3 ES模塊的實(shí)踐考量 216
第9章 實(shí)用建議 219
9.1 變量聲明 219
9.2 模板字面量 223
9.3 簡(jiǎn)寫及對(duì)象解構(gòu) 227
9.4 剩余參數(shù)和擴(kuò)展運(yùn)算符 229
9.5 函數(shù)偏好 231
9.6 類和代理 235
9.7 異步代碼流 238
9.8 復(fù)雜性蠕變、抽象及約定 241

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)