3.1 Number型
JavaScriptでは、数字はデータ操作や計算において重要な役割を果たすよ。言語は様々な数字操作のための方法や組み込みメソッドを提供しているんだ。
JavaScriptには数字用のデータ型が一つあって、それがNumberなんだ。このデータ型は整数も浮動小数点数も表すよ。それに加えて、2020年からはとても大きな整数を扱うためのBigInt型も追加されたんだ。
例:
let integer = 42; // 整数
let float = 3.14; // 浮動小数点数
let bigInt = 12345678901234567890n; // 大きな整数
数字の操作
算術演算:
操作 | 構文 | 説明 | 例 | 結果 |
---|---|---|---|---|
足し算 | a + b | 2つの数字を足す | 5 + 3 | 8 |
引き算 | a - b | ある数字から別の数字を引く | 10 - 4 | 6 |
掛け算 | a * b | 2つの数字を掛ける | 7 * 3 | 21 |
割り算 | a / b | ある数字を別の数字で割る | 20 / 5 | 4 |
余り | a % b | 余りを返す | 10 % 3 | 1 |
累乗 | a ** b | 数を累乗する | 2 ** 3 | 8 |
インクリメントとデクリメント
操作 | 構文 | 説明 | 例 | 結果 |
---|---|---|---|---|
インクリメント | ++a | 値を1増やす (前置) | let a = 5; ++a; |
6 |
インクリメント | a++ | 値を1増やす (後置) | let a = 5; a++; |
5 (次に6) |
デクリメント | --b | 値を1減らす (前置) | let b = 5; --b; |
4 |
デクリメント | b-- | 値を1減らす (後置) | let b = 5; b--; |
5 (次に4) |
複合操作
操作 | 構文 | 説明 | 例 | 結果 |
---|---|---|---|---|
加算代入 | a += b | 加算して結果を代入 | let x = 10; x += 5; |
15 |
減算代入 | a -= b | 減算して結果を代入 | let x = 10; x -= 3; |
7 |
乗算代入 | a *= b | 乗算して結果を代入 | let x = 10; x *= 2; |
20 |
除算代入 | a /= b | 除算して結果を代入 | let x = 10; x /= 2; |
5 |
剰余代入 | a %= b | 剰余を見つけて結果を代入 | let x = 10; x %= 3; |
1 |
3.2 組み込みメソッド
JavaScriptには、Math
オブジェクトがあって、色々な数学的操作を行えるよ。
1. Math.round():
数を最も近い整数に丸めるよ。
let rounded = Math.round(4.6); // 5
2. Math.ceil():
数を上に丸めるよ。
let ceil = Math.ceil(4.2); // 5
3. Math.floor():
数を下に丸めるよ。
let floor = Math.floor(4.8); // 4
4. Math.random():
0から1の範囲でランダムな数を返すよ。
let random = Math.random();
5. Math.max() と Math.min():
数字のセットから最大値と最小値を返すよ。
let max = Math.max(1, 2, 3, 4); // 4
let min = Math.min(1, 2, 3, 4); // 1
6. Math.sqrt():
数の平方根を返すよ。
let sqrt = Math.sqrt(16); // 4
7. Math.pow():
数を指定された乗数に上げた結果を返すよ。
let pow = Math.pow(2, 3); // 8
3.3 文字列を数字に変換する
parseInt()関数:
文字列を整数に変換するよ。
let int = parseInt('123'); // 123
parseFloat()関数:
文字列を浮動小数点数に変換するよ。
let float = parseFloat('3.14'); // 3.14
Number()関数:
値を数に変換するよ。
let num = Number('42'); // 42
値のチェック
isNaN()関数:
値がNaN (Not-a-Number)かどうかをチェックするよ。
let isNotNumber = isNaN('hello'); // true
isFinite()関数:
値が有限の数 (無限ではないかどうか) かどうかをチェックするよ。
let finite = isFinite(10); // true
let notFinite = isFinite(Infinity); // false
3.4 JavaScriptの数字の特性
1. 数字の限界
JavaScriptでは、数字は倍精度浮動小数点形式で表され、一定の制限があるよ:
- 最大値: Number.MAX_VALUE
- 最小値: Number.MIN_VALUE
- 正の無限大: Infinity
- 負の無限大: -Infinity
- 数ではない (NaN): 数ではないことを示す値
2. 数字の精度
浮動小数点数を扱うと精度の問題が発生することがあるよ:
let sum = 0.1 + 0.2;
console.log(sum); // 0.30000000000000004
これは全てのプログラミング言語に共通していて、JavaScriptも例外じゃないよ。
3. 安全な整数
JavaScriptでは、安全に表現できる「安全な」整数の考え方があるんだ。それは浮動小数点数で正確に表せる範囲の整数のことだよ。
- 最大の安全な整数:
Number.MAX_SAFE_INTEGER (253 - 1)
- 最小の安全な整数:
Number.MIN_SAFE_INTEGER (-(253 - 1))
GO TO FULL VERSION