ECMAScriptの規格書は非常に細部に至るまで細かく仕様が規定されていますが、100%全て正しく実装している処理系は僕の知る限りありません。過去に広まってしまったソフトとの後方互換性を維持するため、あえて仕様にあわせていないのだろうというものもあります。ECMAScriptの規格と各ブラウザのScriptエンジンとの違いは、いずれ機会があればまとめたいと思っていますが、コーナーケース(いわゆる重箱の隅系)になると、膨大な量になります。 今回は、文字列を数値に変換する際に登場するToNumberとparseInt/parseFloatについて簡単に紹介します。ToNumberは規格書に登場する内部の実装関数であり、parseInt/parseFloatはご存知JavaScriptのグローバル関数です。 ToNumberの引数が文字列のとき、規格書ではその文字列の文法が厳密に規定されていて