parseIntの第2引数

JavaScript

returnValue = parseInt(value);

のようにやっていたら、valueに'010'が入っているとreturnValueが8になるという現象に出くわした。
現象自体は単純で、'0'で始まる文字列は8進数とみなすということなんだろう。同様に'0x'で始まる文字列は16進数とみなされるようだ。
'010'でも10にする方法として思いついたのは、parseIntを使う前に文字列の先頭の'0'を削るというものだった。安直だがこれで十分だろうと思ったが、とりあえずparseInt自体を調べてみてそんなことをする必要がないことがわかった。

returnValue = parseInt(value, 10);

とやればいい。parseIntは第2引数に第1引数を解釈する基数*1を指定できるとのこと。

*1:何進数かということ