ES6 標準入門, 3/e

阮一峰

  • 出版商: 電子工業
  • 出版日期: 2017-09-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 547
  • 裝訂: 平裝
  • ISBN: 712132475X
  • ISBN-13: 9787121324758
  • 相關分類: JavaScript
  • 立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

ES6是下一代JavaScript語言標準的統稱,每年6月發布一次修訂版,迄今為止已經發布了3個版本,分別是ES2015、ES2016、ES2017。本書根據ES2017標準,詳盡介紹了所有新增的語法,對基本概念、設計目的和用法進行了清晰的講解,給出了大量簡單易懂的示例。本書為中級難度,適合那些已經對JavaScript語言有一定瞭解的讀者,可以作為學習這門語言最新進展的工具書,也可以作為參考手冊供大家隨時查閱新語法。第3版增加了超過30%的內容,完全覆蓋了ES2017標準,相比第2版介紹了更多的語法點,還調整了原有章節的文字表達,充實了示例,論述更準確,更易懂易學。

作者簡介

阮一峰,資深JavaScript 語言專家,知名技術博客作者,專注於網站開發技術十餘年。暢銷書《黑客與畫家》、《軟件隨想錄》的譯者,現就職於螞蟻金服集團。

目錄大綱

目錄


第1章ECMAScript6簡介1 
1.1ECMAScript和JavaScript的關係1 
1.2ES6與ECMAScript2015的關係1 
1.3語法提案的批准流程2 
1.4ECMAScript的歷史3 
1.5部署進度4 
1.6Babel轉碼器4 
1.6.1配置文件babelrc5 
1.6. 2命令行轉碼babel—cli6 
1.6.3babel—node7 
1.6.4babel—register8 
1.6.5babel—core8 
1.6.6babel—polyfill9 
1.6.7瀏覽器環境10 
1.6.8在線轉換10 
1.6.9與其他工具的配合11 
1.7Traceur轉碼器11 
1.7.1直接插入網頁12 
1.7.2在線轉換13 
1.7.3命令行轉換14 
1.7.4Node環境的用法15 

第2章let和const命令17 
2.1let命令17 
2.1.1基本用法17 
2.1.2不存在變量提升19 
2.1.3暫時性死區19 
2.1.4不允許重複聲明21 
2.2塊級作用域22 
2.2.1為什麼需要塊級作用域22
2.2.2ES6的塊級作用域23 
2.2.3塊級作用域與函數聲明24 
2.2.4do表達式27 
2.3const命令28 
2.3.1基本用法28 
2.3.2本質29 
2.3.3ES6聲明變量的6種方法30 
2.4頂層對象的屬性30 
2.5global對象31 

第3章變量的解構賦值33 
3.1數組的解構賦值33 
3.1.1基本用法33 
3.1.2默認值35 
3.2對象的解構賦值37 
3.3字符串的解構賦值41 
3.4數值和布爾值的解構賦值41 
3.5函數參數的解構賦值42 
3.6圓括號問題43 
3.6.1不能使用圓括號的情況43 
3.6.2可以使用圓括號的情況44 
3.7用途44 

第4章字符串的擴展49 
4.1字符的Unicode表示法49 
4.2codePointAt()50 
4.3String.fromCodePoint()52 
4.4字符串的遍歷器接口52 
4.5at()53 
4.6normalize()53 
4.7includes()、startsWith()、endsWith( )54 
4.8repeat()55
4.9padStart()、padEnd()56 
4.10模板字符串57 
4.11實例:模板編譯60 
4.12標籤模板62 
4.13String.raw()67 
4.14模板字符串的限制68 

第5章正則的擴展71 
5.1RegExp構造函數71 
5.2字符串的正則方法72 
5.3u修飾符72 
5.4y修飾符74 
5.5sticky屬性77 
5.6flags屬性77 
5.7s修飾符:dotAll模式78 
5.8後行斷言79 
5.9Unicode屬性類80 
5.10具名組匹配81 
5.10. 1簡介81 
5.10.2解構賦值和替換82 
5.10.3引用83 

第6章數值的擴展85 
6.1二進制和八進製表示法85 
6.2Number.isFinite()、Number.isNaN()86 
6.3Number.parseInt()、 Number.parseFloat()87 
6.4Number.isInteger()88 
6.5Number.EPSILON88 
6.6安全整數和Number.isSafeInteger()89 
6.7Math對象的擴展92 
6.7.1Math.trunc()92
6.7.2Math.sign()92 
6.7.3Math.cbrt()93 
6.7.4Math.clz32()94 
6.7.5Math.imul()95 
6.7.6Math.fround()95 
6.7.7Math.hypot()96 
6.7. 8對數方法96 
6.7.9雙曲函數方法98 
6.8Math.signbit()98 
6.9指數運算符99 
6.10Integer數據類型99 
6.10.1簡介99 
6.10.2運算100 

第7章函數的擴展103 
7.1函數參數的默認值103 
7.1.1基本用法103 
7.1.2與解構賦值默認值結合使用105 
7.1.3參數默認值的位置107 
7.1.4函數的length屬性108 
7.1.5作用域108 
7.1.6應用111 
7.2 rest參數112 
7.3嚴格模式113 
7.4name屬性115 
7.5箭頭函數116 
7.5.1基本用法116 
7.5.2注意事項118 
7.5.3嵌套的箭頭函數121 
7.6綁定this123 
7.7尾調用優化124 
7.7.1什麼是尾調用124
7.7.2尾調用優化125 
7.7.3尾遞歸126 
7.7.4遞歸函數的改寫128 
7.7.5嚴格模式129 
7.7.6尾遞歸優化的實現129 
7.8函數參數的尾逗號132 
…… 
第8章數組的擴展133 
第9章對象的擴展151 
第10章Symbol183 
第11章Set和Map數據結構205 
第12章Proxy233 
第13章Reflect259 
第14章Promise對象273 
第15章Iterator和for...of循環297 
第16章Generator函數的語法317 
第17章Generator函數的異步應用355 
第18章async函數375 
第19章Class的基本語法399 
第20章Class的繼承421 
第21章修飾器439 
第22章Module的語法457 
第23章Module的加載實現475 
第24章編程風格495 
第25章讀懂ECMAScript規格509 
第26章ArrayBuffer517