包郵 深入理解ES6
預(yù)估到手價(jià)是按參與促銷活動(dòng)、以最優(yōu)惠的購(gòu)買方案計(jì)算出的價(jià)格(不含優(yōu)惠券部分),僅供參考,未必等同于實(shí)際到手價(jià)。
-
>
全國(guó)計(jì)算機(jī)等級(jí)考試最新真考題庫(kù)模擬考場(chǎng)及詳解·二級(jí)MSOffice高級(jí)應(yīng)用
-
>
決戰(zhàn)行測(cè)5000題(言語理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
深入理解ES6 版權(quán)信息
- ISBN:9787121317989
- 條形碼:9787121317989 ; 978-7-121-31798-9
- 裝幀:暫無
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>
深入理解ES6 本書特色
ES6是迄今為止JavaScript內(nèi)核首當(dāng)其沖的一次重大更新。本書是領(lǐng)域大家Nicholas C. Zakas撰寫的一份ES6的完整指南,書中詳細(xì)講解了ES 6在JavaScript對(duì)象類型、語法及其他方面激動(dòng)人心的改變。每一章都含有可運(yùn)行于任何JavaScript環(huán)境的示例代碼,你可以利用這些代碼測(cè)試、理解ES6中的新功能。無論你是Web開發(fā)者還是Node.js開發(fā)者,都可以通過本書來更好地理解和運(yùn)用ES6,或是順利地從ES5遷移到ES6。
深入理解ES6 內(nèi)容簡(jiǎn)介
√ 不識(shí)老尼,枉為前端攻城獅,其成名作《JS高級(jí)程序設(shè)計(jì)》曾名動(dòng)江湖。 √ Redux締造者與React核心成員作序力薦,盛贊本書對(duì)JS的剖析無人企及。 √ 用直截了當(dāng)?shù)姆绞絺鬟_(dá)艱深的技術(shù)細(xì)節(jié),對(duì)技術(shù)的理解方可高效送達(dá)。 √ 中高級(jí)開發(fā)者藉由本書可一舉邁入對(duì)標(biāo)準(zhǔn)及其未來特性熟稔于心之化境。
深入理解ES6 目錄
var聲明及變量提升(Hoisting)機(jī)制 1
塊級(jí)聲明 3
-- let聲明 3
-- 禁止重聲明 4
-- const聲明 4
-- 臨時(shí)死區(qū)(Temporal Dead Zone) 6
循環(huán)中的塊作用域綁定 7
-- 循環(huán)中的函數(shù) 8
-- 循環(huán)中的let聲明 9
-- 循環(huán)中的const聲明 10
全局塊作用域綁定 12
塊級(jí)綁定*佳實(shí)踐的進(jìn)化 13
小結(jié) 13
第2章 字符串和正則表達(dá)式 14
更好的Unicode支持 14
-- UTF-16碼位 15
-- codePointAt()方法 16
-- String.fromCodePoint()方法 17
-- normalize()方法 17
-- 正則表達(dá)式u修飾符 19
其他字符串變更 21
-- 字符串中的子串識(shí)別 21
-- repeat()方法 22
其他正則表達(dá)式語法變更 23
-- 正則表達(dá)式y(tǒng)修飾符 23
-- 正則表達(dá)式的復(fù)制 26
-- flags屬性 27
模板字面量 28
-- 基礎(chǔ)語法 28
-- 多行字符串 29
-- 字符串占位符 31
-- 標(biāo)簽?zāi)0?32
小結(jié) 36
第3章 函數(shù) 37
函數(shù)形參的默認(rèn)值 37
-- 在ECMAScript 5中模擬默認(rèn)參數(shù) 38
-- ECMAScript 6中的默認(rèn)參數(shù)值 38
-- 默認(rèn)參數(shù)值對(duì)arguments對(duì)象的影響 40
-- 默認(rèn)參數(shù)表達(dá)式 42
-- 默認(rèn)參數(shù)的臨時(shí)死區(qū) 44
處理無命名參數(shù) 46
-- ECMAScript 5中的無命名參數(shù) 46
-- 不定參數(shù) 47
增強(qiáng)的Function構(gòu)造函數(shù) 49
展開運(yùn)算符 50
name屬性 52
-- 如何選擇合適的名稱 52
-- name屬性的特殊情況 52
明確函數(shù)的多重用途 54
-- 在ECMAScript 5中判斷函數(shù)被調(diào)用的方法 54
-- 元屬性(Metaproperty)new.target 55
塊級(jí)函數(shù) 57
-- 塊級(jí)函數(shù)的使用場(chǎng)景 58
-- 非嚴(yán)格模式下的塊級(jí)函數(shù) 58
箭頭函數(shù) 59
-- 箭頭函數(shù)語法 60
-- 創(chuàng)建立即執(zhí)行函數(shù)表達(dá)式 62
-- 箭頭函數(shù)沒有this綁定 63
-- 箭頭函數(shù)和數(shù)組 65
-- 箭頭函數(shù)沒有arguments綁定 66
-- 箭頭函數(shù)的辨識(shí)方法 66
尾調(diào)用優(yōu)化 67
-- ECMAScript 6中的尾調(diào)用優(yōu)化 68
-- 如何利用尾調(diào)用優(yōu)化 69
小結(jié) 71
第4章 擴(kuò)展對(duì)象的功能性 72
對(duì)象類別 72
對(duì)象字面量語法擴(kuò)展 73
-- 屬性初始值的簡(jiǎn)寫 73
-- 對(duì)象方法的簡(jiǎn)寫語法 74
-- 可計(jì)算屬性名(Computed Property Name) 75
新增方法 76
-- Object.is()方法 76
-- Object.assign()方法 77
重復(fù)的對(duì)象字面量屬性 80
自有屬性枚舉順序 81
增強(qiáng)對(duì)象原型 82
-- 改變對(duì)象的原型 82
-- 簡(jiǎn)化原型訪問的Super引用 83
正式的方法定義 86
小結(jié) 88
第5章 解構(gòu):使數(shù)據(jù)訪問更便捷 89
為何使用解構(gòu)功能 89
對(duì)象解構(gòu) 90
-- 解構(gòu)賦值 91
-- 默認(rèn)值 92
-- 為非同名局部變量賦值 93
-- 嵌套對(duì)象解構(gòu) 94
數(shù)組解構(gòu) 96
-- 解構(gòu)賦值 97
-- 默認(rèn)值 99
-- 嵌套數(shù)組解構(gòu) 99
-- 不定元素 99
混合解構(gòu) 101
解構(gòu)參數(shù) 102
-- 必須傳值的解構(gòu)參數(shù) 103
-- 解構(gòu)參數(shù)的默認(rèn)值 104
小結(jié) 106
第6章 Symbol和Symbol屬性 107
創(chuàng)建Symbol 107
Symbol的使用方法 109
Symbol共享體系 110
Symbol與類型強(qiáng)制轉(zhuǎn)換 112
Symbol屬性檢索 112
通過well-known Symbol暴露內(nèi)部操作 113
-- Symbol.hasInstance方法 114
-- Symbol.isConcatSpreadable屬性 116
-- Symbol.match、Symbol.replace、Symbol.search和Symbol.split屬性 118
-- Symbol.toPrimitive方法 120
-- Symbol.toStringTag屬性 122
-- Symbol.unscopables屬性 125
小結(jié) 127
第7章 Set集合與Map集合 128
ECMAScript 5中的Set集合與Map集合 129
該解決方案的一些問題 129
ECMAScript 6中的Set集合 131
-- 創(chuàng)建Set集合并添加元素 131
-- 移除元素 133
-- Set集合的forEach()方法 133
-- 將Set集合轉(zhuǎn)換為數(shù)組 136
-- Weak Set集合 136
ECMAScript 6中的Map集合 139
-- Map集合支持的方法 140
-- Map集合的初始化方法 141
-- Map集合的forEach()方法 142
-- Weak Map集合 143
小結(jié) 147
第8章 迭代器(Iterator)和生成器(Generator) 149
循環(huán)語句的問題 149
什么是迭代器 150
什么是生成器 151
-- 生成器函數(shù)表達(dá)式 153
-- 生成器對(duì)象的方法 154
可迭代對(duì)象和for-of循環(huán) 155
-- 訪問默認(rèn)迭代器 156
-- 創(chuàng)建可迭代對(duì)象 157
內(nèi)建迭代器 158
-- 集合對(duì)象迭代器 158
-- 字符串迭代器 163
-- NodeList迭代器 164
展開運(yùn)算符與非數(shù)組可迭代對(duì)象 165
高級(jí)迭代器功能 166
-- 給迭代器傳遞參數(shù) 166
-- 在迭代器中拋出錯(cuò)誤 168
-- 生成器返回語句 170
-- 委托生成器 171
異步任務(wù)執(zhí)行 174
-- 簡(jiǎn)單任務(wù)執(zhí)行器 174
-- 向任務(wù)執(zhí)行器傳遞數(shù)據(jù) 176
-- 異步任務(wù)執(zhí)行器 177
小結(jié) 180
第9章 JavaScript中的類 181
ECMAScript 5中的近類結(jié)構(gòu) 181
類的聲明 182
-- 基本的類聲明語法 182
-- 為何使用類語法 184
類表達(dá)式 186
-- 基本的類表達(dá)式語法 186
-- 命名類表達(dá)式 187
作為一等公民的類 189
訪問器屬性 190
可計(jì)算成員名稱 192
生成器方法 193
靜態(tài)成員 195
繼承與派生類 196
-- 類方法遮蔽 199
-- 靜態(tài)成員繼承 199
-- 派生自表達(dá)式的類 200
-- 內(nèi)建對(duì)象的繼承 203
-- Symbol.species屬性 205
在類的構(gòu)造函數(shù)中使用new.target 208
小結(jié) 210
第10章 改進(jìn)的數(shù)組功能 211
創(chuàng)建數(shù)組 211
-- Array.of()方法 212
-- Array.from()方法 213
為所有數(shù)組添加的新方法 216
-- find()方法和findIndex()方法 217
-- fill()方法 217
-- copyWithin()方法 218
定型數(shù)組 219
-- 數(shù)值數(shù)據(jù)類型 220
-- 數(shù)組緩沖區(qū) 221
-- 通過視圖操作數(shù)組緩沖區(qū) 221
定型數(shù)組與普通數(shù)組的相似之處 228
-- 通用方法 229
-- 相同的迭代器 230
-- of()方法和from()方法 230
定型數(shù)組與普通數(shù)組的差別 231
-- 行為差異 231
-- 缺失的方法 232
-- 附加方法 233
小結(jié) 234
第11章 Promise與異步編程 235
異步編程的背景知識(shí) 235
-- 事件模型 236
-- 回調(diào)模式 236
Promise的基礎(chǔ)知識(shí) 239
-- Promise的生命周期 239
-- 創(chuàng)建未完成的Promise 242
-- 創(chuàng)建已處理的Promise 244
-- 執(zhí)行器錯(cuò)誤 247
全局的Promise拒絕處理 248
Node.js環(huán)境的拒絕處理 248
瀏覽器環(huán)境的拒絕處理 251
串聯(lián)Promise 253
-- 捕獲錯(cuò)誤 254
-- Promise鏈的返回值 255
-- 在Promise鏈中返回Promise 256
響應(yīng)多個(gè)Promise 259
-- Promise.all()方法 259
-- Promise.race()方法 260
自Promise繼承 262
基于Promise的異步任務(wù)執(zhí)行 263
小結(jié) 267
第12章 代理(Proxy)和反射(Reflection)API 269
數(shù)組問題 269
代理和反射 270
創(chuàng)建一個(gè)簡(jiǎn)單的代理 271
使用set陷阱驗(yàn)證屬性 272
用get陷阱驗(yàn)證對(duì)象結(jié)構(gòu)(Object Shape) 274
使用has陷阱隱藏已有屬性 275
用deleteProperty陷阱防止刪除屬性 277
原型代理陷阱 279
-- 原型代理陷阱的運(yùn)行機(jī)制 279
-- 為什么有兩組方法 281
對(duì)象可擴(kuò)展性陷阱 282
-- 兩個(gè)基礎(chǔ)示例 283
-- 重復(fù)的可擴(kuò)展性方法 284
屬性描述符陷阱 285
-- 給Object.defineProperty()添加限制 286
-- 描述符對(duì)象限制 287
-- 重復(fù)的描述符方法 288
ownKeys陷阱 290
函數(shù)代理中的apply和construct陷阱 291
-- 驗(yàn)證函數(shù)參數(shù) 292
-- 不用new調(diào)用構(gòu)造函數(shù) 294
-- 覆寫抽象基類構(gòu)造函數(shù) 296
-- 可調(diào)用的類構(gòu)造函數(shù) 297
可撤銷代理 298
解決數(shù)組問題 299
-- 檢測(cè)數(shù)組索引 300
-- 添加新元素時(shí)增加length的值 300
-- 減少length的值來刪除元素 302
-- 實(shí)現(xiàn)MyArray類 304
將代理用作原型 307
-- 在原型上使用get陷阱 307
-- 在原型上使用set陷阱 308
-- 在原型上使用has陷阱 309
-- 將代理用作類的原型 310
小結(jié) 314
第13章 用模塊封裝代碼 315
什么是模塊 315
導(dǎo)出的基本語法 316
導(dǎo)入的基本語法 317
-- 導(dǎo)入單個(gè)綁定 318
-- 導(dǎo)入多個(gè)綁定 318
-- 導(dǎo)入整個(gè)模塊 318
-- 導(dǎo)入綁定的一個(gè)微妙怪異之處 320
導(dǎo)出和導(dǎo)入時(shí)重命名 320
模塊的默認(rèn)值 321
-- 導(dǎo)出默認(rèn)值 321
-- 導(dǎo)入默認(rèn)值 322
重新導(dǎo)出一個(gè)綁定 323
無綁定導(dǎo)入 324
加載模塊 325
-- 在Web瀏覽器中使用模塊 325
-- 瀏覽器模塊說明符解析 329
小結(jié) 330
附錄A ECMAScript 6中較小的改動(dòng) 331
附錄B 了解ECMAScript 7(2016) 337
索引 343
深入理解ES6 作者簡(jiǎn)介
Nicholas C. Zakas自2000年以來一直致力于Web應(yīng)用程序的開發(fā),重點(diǎn)關(guān)注前端開發(fā),并以寫作和講述前沿*實(shí)踐而聞名。他曾于雅虎主頁(yè)任職5年有余,他也是多本書的作者,其中包括The Principles of Object-Oriented JavaScript(No Starch
Press出版社)和Professional JavaScript for Web Developers(Wrox出版社)。
關(guān)于技術(shù)評(píng)審
Juriy Zaytsev(在網(wǎng)上以kangax著稱)是紐約的一位前端網(wǎng)站開發(fā)人員。自2007年以來,他一直在探索JavaScript的怪異特性并撰寫相關(guān)文章。Juriy為多個(gè)開源項(xiàng)目做出過貢獻(xiàn),其中包括Prototype.js和其他的熱門項(xiàng)目,如他自己的Fabric.js。他是按需定制打印服務(wù)printio.ru的共同創(chuàng)始人,目前任職于Facebook。
劉振濤,騰訊前端工程師;infoQ 網(wǎng)站資深譯者,負(fù)責(zé)重點(diǎn)連載專欄《深入淺出ES6》;長(zhǎng)期關(guān)注Web開發(fā)領(lǐng)域新生,尤其是 Ecma* 6;愛好攝影、網(wǎng)球,重度信息癖(Infomania)患者。
- >
月亮虎
- >
朝聞道
- >
月亮與六便士
- >
巴金-再思錄
- >
伯納黛特,你要去哪(2021新版)
- >
羅曼·羅蘭讀書隨筆-精裝
- >
自卑與超越
- >
上帝之肋:男人的真實(shí)旅程