JavaScript の parseInt の基数がデフォルトで 8 になっているのはなぜですか? 質問する

JavaScript の parseInt の基数がデフォルトで 8 になっているのはなぜですか? 質問する

JavaScript の parseInt 関数で基数をデフォルトで 8 に設定すると (文字列が 0 で始まる場合)、オプションの 2 番目の引数を 10 として渡すことを忘れ続けるため、イライラします。デフォルトで 8 に設定することが理にかなっている理由を説明する回答を探しています。

ベストアンサー1

入力文字列が 0 で始まる場合にのみ、デフォルトで 8 になります。これは、C および C++ からの残念な持ち越しです。

Number('0123')代わりに、または質問にあるように、を使用することもできますparseInt('0123', 10)

JavaScript の parseInt 8 進数の動作を回避するにはどうすればよいですか?


この繰り越しについて詳しく教えていただけますか?


注記:ECMAScript 厳密モードでは 8 進構文が削除されます。

おすすめ記事