備忘録としてチョロっと書いておきます。
parseInt(string, radix)
言わずもがな整数に変換する関数です。radixは省略できるけれど10進数であれば10を指定したほうが安全であるとMDNに書かれています。0からはじまる文字列を意図せずに8進数にされてしまうことを防ぐためにもそうした方が良いでしょう。
小数にするときにはparseFloatを使います。
parseFloat(string)
こちらは第二引数はありません。
パースされた結果NaNになっているのに計算をしてしまってエラーを吐くことがあります。その場合はisFiniteを使います。(MDNはこちら)
isFinite(testValue)
挙動は以下の通り
1 2 3 4 5 6 7 8 9 10 |
isFinite(Infinity); // false isFinite(NaN); // false isFinite(-Infinity); // false isFinite(0); // true isFinite(2e64); // true isFinite(null); // true isFinite("0"); // true が返される、より堅牢性の高い // Number.isFinite("0") では false となる |
NaNではないかをチェックするというよりも有限数であるかどうかを判定します。・・・とはいっても有限数なんていうワードはそうそう浮かんでこないので「NaNではないかの判定」といっています。
実はNumber.isFiniteというのもあって、こちらのほうが厳密な(期待通りの)チェックができるようですが、残念ながら新しい関数なのでIEは対応していないとのことです。