JSでの文字→数値変換について
このツイートについていろいろとリツイートされるが、JavaScriptを欠陥言語という勢力が多いが、逆に知性を疑いたくなる者が多い。
まず、parseIntについて。
parseIntの仕様は
The parseInt() function parses a string argument and returns an integer of the specified radix (the base in mathematical numeral systems).
仕様では「文字列引数」としているので、ツイートされている例題自体が「誤用」である。
本来の使用方法は
var n=parseInt("0.0000005");
-> 0
次にparseIntが指数を入れると問題を起こすという部分。
parseIntで指数を数値化するのではなく、新しい数値を文字列から作ればよいだけ。
var n=new Number("1e3");
-> 1000
これだけ。
parseIntを使うなという前にきちんと仕様から調べましょう。
目の前にある魔法の箱で全て調べられますからね。
JSを欠陥言語という前にベストプラクティスを調べれば出てきます。
調べられない自分の知性の欠陥を疑いましょう。
ネットはヘイトをばら撒くのではなく集合知の為に使ってください。
この記事が気に入ったらサポートをしてみませんか?