[TOC]
# 注釋
## 背景知識
1This is not completely true: there are a few minor breaking changes that don’t affect code on the web. These are detailed in [section D.1](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-corrections-and-clarifications-with-possible-compatibility-impact) and [section E.1](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-additions-and-changes-that-introduce-incompatibilities-with-prior-editions) of the ES6 specification.[?](ch_about-es6.html#fnref-introduction_1)
2Source: Tweet by Allen Wirfs-Brock. https://twitter.com/awbjs/status/574649464687734785[?](ch_faq.html#fnref-faq_1)
## 數據
1\[Speaking JS\] `parseFloat()` in ([“Speaking JavaScript”](http://speakingjs.com/es5/ch11.html#parseFloat)).[?](ch_numbers.html#fnref-numbers_1)
2\[Speaking JS\] `parseInt()` in ([“Speaking JavaScript”](http://speakingjs.com/es5/ch11.html#parseInt)).[?](ch_numbers.html#fnref-numbers_2)
3\[Speaking JS\] The details of rounding errors are explained in [“Speaking JavaScript”](http://speakingjs.com/es5/ch11.html#rounding_errors).[?](ch_numbers.html#fnref-numbers_3)
4Internally, JavaScript has [two zeros](http://speakingjs.com/es5/ch11.html#two_zeros). `Math.sign(-0)` produces the result `-0` and `Math.sign(+0)` produces the result `+0`.[?](ch_numbers.html#fnref-numbers_4)
5Iterables are explained in [another chapter](ch_iteration.html#ch_iteration).[?](ch_parameter-handling.html#fnref-parameter-handling_1)
6Explained in [the chapter on Arrays](ch_arrays.html#ch_arrays).[?](ch_parameter-handling.html#fnref-parameter-handling_2)
## 模塊化
1The exceptions are function expressions and object literals, which you have to put in parentheses, because they look like function declarations and code blocks.[?](ch_arrow-functions.html#fnref-arrow_functions_1)
2\[Spec\] Sect. “[Imports](http://www.ecma-international.org/ecma-262/6.0/#sec-imports)” starts with grammar rules and continues with semantics.[?](ch_modules.html#fnref-modules_1)
3\[Spec\] The specification method [`GetExportedNames()`](http://www.ecma-international.org/ecma-262/6.0/#sec-getexportednames) collects the exports of a module. In step (7.d.i), a check prevents other modules’ default exports from being re-exported.[?](ch_modules.html#fnref-modules_2)
4\[Spec\] Sect. “[Exports](http://www.ecma-international.org/ecma-262/6.0/#sec-exports)” starts with grammar rules and continues with semantics.[?](ch_modules.html#fnref-modules_3)
## 集合
1\[Speaking JS\] “[Pitfalls: Using an Object as a Map](http://speakingjs.com/es5/ch17.html#_pitfalls_using_an_object_as_a_map)”[?](ch_iteration.html#fnref-iteration_1)
2Based on “[Closing iterators](https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-06/closing-iterators.pdf)”, slides by David Herman.[?](ch_iteration.html#fnref-iteration_2)
3`throw()` is also an optional method, but is practically never used for iterators and therefore explained in [the chapter on generators](ch_generators.html#ch_generators))[?](ch_iteration.html#fnref-iteration_3)
4“[Combinator](https://wiki.haskell.org/Combinator)” (in HaskellWiki) describes what combinators are.[?](ch_iteration.html#fnref-iteration_4)
5Or rather, the function counts up until the number `start` overflows and becomes `Infinity`, at which point it doesn’t change, anymore.[?](ch_generators.html#fnref-generators_1)
- 關于本書
- 目錄簡介
- 關于這本書你需要知道的
- 序
- 前言
- I 背景
- 1. About ECMAScript 6 (ES6)
- 2. 常見問題:ECMAScript 6
- 3. 一個JavaScript:在 ECMAScript 6 中避免版本化
- 4. 核心ES6特性
- II 數據
- 5. New number and Math features
- 6. 新的字符串特性
- 7. Symbol
- 8. Template literals
- 第9章 變量與作用域
- 第10章 解構
- 第11章 參數處理
- III 模塊化
- 12. ECMAScript 6中的可調用實體
- 13. 箭頭函數
- 14. 除了類之外的新OOP特性
- 15. 類
- 16. 模塊
- IV 集合
- 17. The for-of loop
- 18. New Array features
- 19. Maps and Sets
- 20. 類型化數組
- 21. 可迭代對象和迭代器
- 22. 生成器( Generator )
- V 標準庫
- 23. 新的正則表達式特性
- 24. 異步編程 (基礎知識)
- 25. 異步編程的Promise
- VI 雜項
- 26. Unicode in ES6
- 27. 尾部調用優化
- 28 用 Proxy 實現元編程
- 29. Coding style tips for ECMAScript 6
- 30. 概述ES6中的新內容
- 注釋
- ES5過時了嗎?
- ==個人筆記==