22.3Type Casting & Coercion / Numbers

数値への型変換

数値への型変換には`Number()`を、文字列をパースする際には常に基数を指定して`parseInt()`を使用します。

`+inputValue` や `inputValue >> 0` のような方法は、型変換のためのハックであり、コードの意図が分かりにくいです。`Number()` が最も明示的です。また、`parseInt()` は基数を指定しないと、`'08'` のような文字列を8進数と解釈してしまう(古いブラウザの場合)などの問題があるため、常に `parseInt(value, 10)` のように10進数であることを明示すべきです。

❌ Bad
// bad
const val = +inputValue;

// bad
const val = parseInt(inputValue);
✅ Good
// good
const val = Number(inputValue);

// good
const val = parseInt(inputValue, 10);