JavaScript の算術演算子と数値変換
一方、仕様書の数値変換関数である ToNumber では、科学表記に対応している。こちらには 8 進法表記に関する規定がないので、 parseInt の場合の心配は不要である。 #JavaScript /[Mm]ath/
2010-12-21 01:23:52例えば、式 "1e2" - "2e1" は、減算演算子の評価時に被演算項に対して ToNumber が呼び出されるので、 98 となる。 #JavaScript /[Mm]ath/
2010-12-21 01:29:17ToNumber の規定で受け取る数値表記法は、ECMAScript で規定されている数値リテラルのそれの定義に近い。なので、そのような数値変換を期待するのであれば +operand を使うと良いかもしれない。 #JavaScript /[Mm]ath/
2010-12-21 01:35:13まとめ的何か。文字列->数値変換は、[a] +x , [b] parseInt(x) / parseFloat(x) , [c] new Number(x) の 3 つの方法が考えられるが、それぞれ異なるので上手く使い分けたい。 #JavaScript /[Mm]ath/
2010-12-21 01:40:48ちなみに、[c] について。ほとんど [a] と同じで内部で ToNumber が呼び出されるが、結果が Number オブジェクト(primitive)になる。あと new は使いたくないよね。 #JavaScript /[Mm]ath/
2010-12-21 01:43:19非primitiveと言いたかった QT @t_uda: ちなみに、[c] について。ほとんど [a] と同じで内部で ToNumber が呼び出されるが、結果が Number オブジェクト(primitive)になる。あと new は使いたくないよね。
2010-12-21 02:11:19Cf. [0] "11.4.6 単項 + 演算子" http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.4.6 #JavaScript /[Mm]ath/
2010-12-20 23:59:55Cf. [1] "9.3.1 ToNumber Applied to the String Type" http://interglacial.com/javascript_spec/a-9.html#a-9.3.1 #JavaScript /[Mm]ath/
2010-12-21 01:24:18Cf. [2] "JavaScriptのToNumberとparseInt/parseFloatの仕様と実装の違い" http://d.hatena.ne.jp/mindcat/20091012/1255354167 #JavaScript /[Mm]ath/
2010-12-21 02:05:29