Angularを利用していて、stringをnumに変換するときに、疑問がわいたので調べてまとめたメモ。
挙動の違いから。
parseInt("20px"); // => 20
parseInt("10100", 2); // => 二進法なので 4 + 16 = 20
parseInt("2e1"); // => 2
Number("20px"); // => NaN
Number("2e1"); // => 2 x 10^1 なので、 20
(注) AngularでparseIntを利用する場合、tslintを有効にしていると、第二引数に基数を指定しないと、エラーが出る場合がある。
parseIntは、数値を含む文字列のうち、数字部分を取り出し、数値に変換する。
Numberは、数値を含む文字列の意味を解釈し、数値に変換する。文法に合わない文字列の時は、NaNを返却する。