JavaScriptにおける数値について
JavaScriptにおける数値について
このページでは、JavaScriptにおける数値の基本的な特性、さまざまな操作、注意点について詳しく解説します。
JavaScriptの数値型
JavaScriptでは、すべての数値は単一のデータ型であるnumber
に分類されます。これはIEEE 754標準の倍精度浮動小数点形式を使用しており、整数と小数の両方を扱うことができます。
- 整数:
42
,-10
- 小数:
3.14
,-0.5
- 指数表記:
1.23e4
(1.23 × 104)
ES2020以降では、BigInt
型も導入されました。BigInt
は非常に大きな整数を表現できます。
- BigIntの例:
123456789012345678901234567890n
基本的な数値操作
JavaScriptでは、数値に対してさまざまな演算を行うことができます。
- 加算:
5 + 3
→8
- 減算:
10 - 7
→3
- 乗算:
4 * 2
→8
- 除算:
9 / 3
→3
- 剰余:
10 % 3
→1
- 累乗:
2 ** 3
→8
特殊な数値値
JavaScriptの数値には、特別な値も含まれます。
Infinity
: 正の無限大を表します。例えば、1 / 0
→Infinity
-Infinity
: 負の無限大を表します。NaN
: 数値ではないことを示します。例えば、0 / 0
→NaN
数値の変換
文字列や他の型を数値に変換する方法はいくつかあります。
Number()
:Number("123")
→123
parseInt()
: 整数に変換。parseInt("123abc")
→123
parseFloat()
: 小数も扱う。parseFloat("3.14abc")
→3.14
- 暗黙的な変換:
"5" * 2
→10
精度の問題と注意点
JavaScriptのnumber
型は浮動小数点演算を使用しているため、特定の計算で精度の問題が発生することがあります。
- 例:
0.1 + 0.2
→0.30000000000000004
- 回避策: 四捨五入を行う。
(0.1 + 0.2).toFixed(2)
→"0.30"
応用例
数値を活用した具体的なコード例をいくつか示します。
// 簡単な電卓の実装
const add = (a, b) => a + b;
console.log(add(10, 20)); // 30
// 円の面積を計算
const circleArea = (radius) => Math.PI * radius ** 2;
console.log(circleArea(5)); // 78.53981633974483
// 配列内の数値の合計
const numbers = [10, 20, 30];
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 60
// BigIntの使用
const bigIntExample = 12345678901234567890n * 2n;
console.log(bigIntExample); // 24691357802469135780n