by shigemk2

当面は技術的なことしか書かない

JavaScriptのparseIntの微妙にワンダーな挙動

developer.mozilla.org

console.log(parseInt("04")); // 4

少しだけワンダーな挙動。

第1引数のstringが「0」で始まるときは、第2引数のradixは8(8進法)または10(10進法)とされます。厳密には、基数がどちらになるかは実装によります。ECMAScript 5 の仕様では10(10進法)です。ただし、まだすべてのブラウザがサポートしている訳ではありません。したがって、parseInt()関数を使うとき基数は必ず与えてください。

node.jsでは↑のようになるけども、実装によっては違うので、第二引数も指定したほうが良いかもしれない。