JavaScript
parseInt

parseIntの基数問題

この記事を読んで、基数の罠は分かりすぎると思いつつ、標準関数の上書きのキモさが気になったので、自分がやるならどうするか考えてみた。

関数を上書きするのではなく、基数を固定したラッパー関数として実装すれば意味としても明確になるし標準関数を汚染もしないし良いのではと思う。

function parseInt10(value) {
  return parseInt(value, 10);
}
function parseInt8(value) {
  return parseInt(value, 8);
}
function parseInt2(value) {
  return parseInt(value, 2);
}

ちなみに自分は標準関数をちゃんと基数付きで使えばいいじゃんと考えています。
色だと16進数だしビットフラグで2進数のときもあるし、文字から数値をパースするっていう用途に対してちゃんと設計されているので、
そのあたりの思想とか考え方をちゃんと把握しているほうがいいし、「オリジナルと違う」という気遣いが逆に余計な場合もあるので、素直にオリジナル使うのが一番よいのではと思った。