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
。↩
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
為止,在那個時候它就不會再改變了。↩