TOP
紅利積點抵現金,消費購書更貼心
深入理解ES6(簡體書)
滿額折

深入理解ES6(簡體書)

商品資訊

人民幣定價:99 元
定價
:NT$ 594 元
優惠價
87517
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:15 點
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

ES6是ECMAScript標準十餘年來變動大的一個版本,其中添加了許多新的語法特性,既有大家耳熟能詳的Promise,也有聞所未聞的Proxy代理和Reflection反射;既有可以通過轉譯器(Transpiler)等方式在舊版本瀏覽器中實現兼容的let、const、不定參數、展開運算符等功能,亦有無論如何都無法實現向前兼容的尾調用優化。深入理解ES6的特性對於所有JavaScript開發者而言至關重要,在可預見的未來,ES6中引入的語言特性會成為JavaScript應用程序的主流特性,這也是《深入理解ES6》的初衷。希望你通過閱讀《深入理解ES6》可以了解ES6的新特性,並在需要時能夠隨時使用。

作者簡介

Nicholas C. Zakas自2000年以來一直致力於Web應用程序的開發,重點關注前端開發,並以寫作和講述前沿最佳實踐而聞名。他曾於雅虎主頁任職5年有餘,他也是多本書的作者,其中包括The Principles of Object-Oriented JavaScript(No Starch Press出版社)和Professional JavaScript for Web Developers(Wrox出版社)。

關於技術評審
Juriy Zaytsev(在網上以kangax著稱)是紐約的一位前端網站開發人員。自2007年以來,他一直在探索JavaScript的怪異特性並撰寫相關文章。Juriy為多個開源項目做出過貢獻,其中包括Prototype.js和其他的熱門項目,如他自己的Fabric.js。他是按需定制打印服務printio.ru的共同創始人,目前任職於Facebook。

名人/編輯推薦

《深入理解ES6》編輯推薦
不識老尼,枉為前端攻城獅,其成名作《JS高級程序設計》曾名動江湖。
Redux締造者與React核心成員作序力荐,盛讚本書對JS的剖析無人企及。
用直截了當的方式傳達艱深的技術細節,對技術的理解方可高效送達。
中高級開發者藉由本書可一舉邁入對標準及其未來特性熟稔於心之化境。

目次

第1章塊級作用域綁定1
var聲明及變量提升(Hoisting)機制1
塊級聲明3
 let聲明3
禁止重聲明4
 const聲明4
臨時死區(Temporal Dead Zone) 6
循環中的塊作用域綁定7
循環中的函數8
循環中的let聲明9
循環中的const聲明10
全局塊作用域綁定12
塊級綁定最佳實踐的進化13
小結13
第2章字符串和正則表達式14
更好的Unicode支持14
 UTF-16碼位15
 codePointAt()方法16
 String.fromCodePoint()方法17
 normalize()方法17
正則表達式u修飾符19
其他字符串變更21
字符串中的子串識別21
 repeat()方法22
其他正則表達式語法變更23
正則表達式y修飾符23
正則表達式的複制26
 flags屬性27
模板字面量28
基礎語法28
多行字符串29
字符串佔位符31
標籤模板32
小結36
第3章函數37
函數形參的默認值37
在ECMAScript 5中模擬默認參數38
 ECMAScript 6中的默認參數值38
默認參數值對arguments對 象的影響40
默認參數表達式42
默認參數的臨時死區44
處理無命名參數46
 ECMAScript 5中的無命名參數46
不定參數47
增強的Function構造函數49
展開運算符50
name屬性52
如何選擇合適的名稱52
 name屬性的特殊情況52
明確函數的多重用途54
在ECMAScript 5中判斷函數被調用的方法54
元屬性(Metaproperty)new.target 55
塊級函數57
塊級函數的使用場景58
非嚴格模式下的塊級函數58
箭頭函數59
箭頭函數語法60
創建立即執行函數表達式62
箭頭函數沒有this綁定63
箭頭函數和數組65
箭頭函數沒有arguments綁定66
箭頭函數的辨識方法66
尾調用優化67
 ECMAScript 6中的尾調用優化68
如何利用尾調用優化69
小結71
第4章擴展對象的功能性72
對像類別72
對象字面量語法擴展73
屬性初始值的簡寫73
對象方法的簡寫語法74
可計算屬性名(Computed Property Name) 75
新增方 法76
 Object.is()方法76
 Object.assign()方法77
重複的對象字面量屬性80
自有屬性枚舉順序81
增強對象原型82
改變對象的原型82
簡化原型訪問的Super引用83
正式的方法定義86
小結88
第5章解構:使數據訪問更便捷89
為何使用解構功能89
對象解構90
解構賦值91
默認值92
為非同名局部變量賦值93
嵌套對象解構94
數組解構96
解構賦值97
默認值99
嵌套數組解構99
不定元素99
混合解構101
解構參數102
必須傳值的解構參數103
解構參數的默認值104
小結106
第6章Symbol和Symbol屬性107
創建Symbol 107
Symbol的使用方法109
Symbol共享體系110
Symbol與類型強制轉換112
Symbol屬性檢索112
通過well-known Symbol暴露內部操作113
 Symbol.hasInstance方法114
 Symbol.isConcatSpreadable屬性116
 Symbol.match、Symbol.replace、Symbol.search和Symbol.split屬性118
 Symbol.toPrimitive方法120
 Symbol.toStringTag屬性122
 Symb ol.unscopables屬性125
小結127
第7章Set集合與Map集合128
ECMAScript 5中的Set集合與Map集合129
該解決方案的一些問題129
ECMAScript 6中的Set集合131
創建Set集合併添加元素131
移除元素133
 Set集合的forEach()方法133
將Set集合轉換為數組136
 Weak Set集合136
ECMAScript 6中的Map集合139
 Map集合支持的方法140
 Map集合的初始化方法141
 Map集合的forEach()方法142
 Weak Map集合143
小結147
第8章迭代器(Iterator)和生成器(Generator) 149
循環語句的問題149
什麼是迭代器150
什麼是生成器151
生成器函數表達式153
生成器對象的方法154
可迭代對象和for-of循環155
訪問默認迭代器156
創建可迭代對象157
內建迭代器158
集合對象迭代器158
字符串迭代器163
 NodeList迭代器164
展開運算符與非數組可迭代對象165
高級迭代器功能166
給迭代器傳遞參數166
在迭代器中拋出錯誤168
生成器返 語句170
委託生成器171
異步任務執行174
簡單任務執行器174
向任務執行器傳遞數據176
異步任務執行器177
小結180
第9章JavaScript中的類181
ECMAScript 5中的近類結構181
類的聲明182
基本的類聲明語法182
為何使用類語法184
類表達式186
基本的類表達式語法186
命名類表達式187
作為一等公民的類189
訪問器屬性190
可計算成員名稱192
生成器方法193
靜態成員195
繼承與派生類196
類方法遮蔽199
靜態成員繼承199
派生自表達式的類200
內建對象的繼承203
 Symbol.species屬性205
在類的構造函數中使用new.target 208
小結210
第10章改進的數組功能211
創建數組211
 Array.of()方法212
 Array.from()方法213
為所有數組添加的新方法216
 find()方法和findIndex()方法217
 fill()方法217
 copyWithin()方法218
定型數組219
數值數據類型220
數組緩衝區221
通過視圖操作數組緩衝區221
定型數 組與普通數組的相似之處228
通用方法229
相同的迭代器230
 of()方法和from()方法230
定型數組與普通數組的差別231
行為差異231
缺失的方法232
附加方法233
小結234
第11章Promise與異步編程235
異步編程的背景知識235
事件模型236
回調模式236
Promise的基礎知識239
 Promise的生命週期239
創建未完成的Promise 242
創建已處理的Promise 244
執行器錯誤247
全局的Promise拒絕處理248
Node.js環境的拒絕處理248
瀏覽器環境的拒絕處理251
串聯Promise 253
捕獲錯誤254
 Promise鏈的返回值255
在Promise鏈中返回Promise 256
響應多個Promise 259
 Promise.all()方法259
 Promise.race()方法260
自Promise繼承262
基於Promise的異步任務執行263
小結267
第12章代理(Proxy)和反射(Reflection)API 269
數組問題269
代理和反射270
創建一個簡單的代理271
使用set陷阱驗證屬性272
用get陷阱驗證對象結構(Object Shape 274
使用has陷阱隱藏已有屬性275
用deleteProperty陷阱防止刪除屬性277
原型代理陷阱279
原型代理陷阱的運行機制279
為什麼有兩組方法281
對象可擴展性陷阱282
兩個基礎示例283
重複的可擴展性方法284
屬性描述符陷阱285
給Object.defineProperty()添加限制286
描述符對象限制287
重複的描述符方法288
ownKeys陷阱290
函數代理中的apply和construct陷阱291
驗證函數參數292
不用new調用構造函數294
覆寫抽象基類構造函數296
可調用的類構造函數297
可撤銷代理298
解決數組問題299
檢測數組索引300
添加新元素時增加length的值300
減少length的值來刪除元素302
實現MyArray類304
將代理用作原型307
在原型上使用get陷阱307
在原型上使用set陷阱308
在原型上使用has陷阱309
將代理用作類的原型310
小結314
第13章用模塊封裝代碼315
什麼是模塊315
導出的基本語法316
導 的基本語法317
導入單個綁定318
導入多個綁定318
導入整個模塊318
導入綁定的一個微妙怪異之處320
導出和導入時重命名320
模塊的默認值321
導出默認值321
導入默認值322
重新導出一個綁定323
無綁定導入324
加載模塊325
在Web瀏覽器中使用模塊325
瀏覽器模塊說明符解析329
小結330
附錄A ECMAScript 6中較小的改動331
附錄B了解ECMAScript 7(2016) 337
索引343

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 517
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區