註解
目錄
請支持這本書:購買它(PDF、EPUB、MOBI)捐款
(廣告,請不要封鎖。)

註解

背景

1這並非完全正確:有一些微小的破壞性變更並未影響網路上的程式碼。這些變更詳述於 D.1 節E.1 節 中的 ES6 規範。

2來源:Allen Wirfs-Brock 的推文。https://twitter.com/awbjs/status/574649464687734785

資料

1[Speaking JS] parseFloat() in (“Speaking JavaScript”).

2[Speaking JS] parseInt() in (“Speaking JavaScript”).

3[Speaking JS] 捨入誤差的詳細資訊說明於 “Speaking JavaScript” 中。

4在內部,JavaScript 有 兩個零Math.sign(-0) 產生結果 -0,而 Math.sign(+0) 產生結果 +0

5可迭代物件說明於 另一章節 中。

6說明於 陣列章節 中。

模組化

1例外是函式運算式和物件文字,您必須將它們放在括號中,因為它們看起來像函式宣告和程式碼區塊。

2[規範] Sect. “Imports” 從文法規則開始,並繼續說明語意。

3[規範] 規範方法 GetExportedNames() 收集模組的匯出。在步驟 (7.d.i) 中,檢查會防止其他模組的預設匯出被重新匯出。

4[規範] Sect. “Exports” 從文法規則開始,並繼續說明語意。

集合

1[Speaking JS] “Pitfalls: Using an Object as a Map

2根據 David Herman 的投影片 “Closing iterators”。

3throw() 也是一個可選的方法,但實際上幾乎不會用於迭代器,因此在 生成器章節 中說明)

4組合子」(在 HaskellWiki) 描述了組合子是什麼。

5或者更確切地說,這個函式會計算到數字 start 溢位並變成 Infinity 為止,在那個時候它就不會再改變了。