Math オブジェクトを一言でいうと
Math オブジェクトは、
「よく使う数学の関数や定数をまとめた“計算ツール箱”」 です。
四捨五入したい
絶対値をとりたい
最大値・最小値を知りたい
ランダムな数を作りたい
こういう「ちょっとした数学処理」をするときに、毎回自分で計算式を書くのではなく、Math.〇〇() を呼び出して使います。
ここが重要です。
Math は「new しない」「インスタンスを作らない」特殊なオブジェクトです。
使うときは必ずMath.メソッド名(…)Math.定数名
というかたちで、“そのまま”呼び出します。
Math の基本的な使い方の形
インスタンスを作らない静的オブジェクト
普通のオブジェクトやクラスと違い、Math はこうはしません。
// これはしない(できない)
const m = new Math();
JavaScriptMath は最初から 1 個だけ存在している“道具箱”のようなもので、
使うときは常に次のような書き方になります。
const absValue = Math.abs(-5);
const rounded = Math.round(3.7);
const maxValue = Math.max(10, 3, 7);
JavaScriptどれも
「Math という箱の中の abs/round/max という道具を使う」
というイメージです。
ここが重要です。
Math は「特別な 1 個だけのオブジェクト」。
何かを new したり、コピーしたりせず、Math.xxx をそのまま使うのが正しい姿です。
よく使う基本メソッド①:絶対値・四捨五入・小数処理
絶対値:Math.abs
絶対値は「数直線で 0 からどれだけ離れているか」。
マイナスを消して正の値にするイメージです。
console.log(Math.abs(5)); // 5
console.log(Math.abs(-5)); // 5
console.log(Math.abs(0)); // 0
JavaScript「差の大きさだけ知りたい」ときに便利です。
const a = 10;
const b = 7;
const diff = Math.abs(a - b); // 3
JavaScript四捨五入:Math.round
小数を「四捨五入」して整数にします。
console.log(Math.round(3.2)); // 3
console.log(Math.round(3.5)); // 4
console.log(Math.round(3.7)); // 4
console.log(Math.round(-1.4)); // -1
console.log(Math.round(-1.5)); // -1(JS の仕様上こうなる点は少し特殊)
JavaScript切り捨て:Math.floor
小数点以下を「切り捨て」ます。
console.log(Math.floor(3.9)); // 3
console.log(Math.floor(3.1)); // 3
console.log(Math.floor(-1.1)); // -2 (より小さい方向へ)
JavaScriptページ番号計算・インデックス計算などでよく使います。
切り上げ:Math.ceil
小数点以下を「切り上げ」ます。
console.log(Math.ceil(3.1)); // 4
console.log(Math.ceil(3.9)); // 4
console.log(Math.ceil(-1.1)); // -1(大きいほうへ)
JavaScript実務でよくあるパターン:小数第 n 位で四捨五入
例えば「小数第 2 位で四捨五入」したい場合。
function roundTo2(num) {
return Math.round(num * 100) / 100;
}
console.log(roundTo2(3.14159)); // 3.14
console.log(roundTo2(1.005)); // 1.01(浮動小数点の誤差でズレることもある)
JavaScriptいったん 100 倍してから四捨五入し、最後に 100 で割る、というパターンです。
ここが重要です。
絶対値・四捨五入・切り捨て・切り上げは、
ユーザーに見せる数値を「きれいな形」に整えるための基本セットです。
特に Math.round / Math.floor / Math.ceil は、
どの方向に丸めたいのかを意識して使い分けることが大事です。
よく使う基本メソッド②:最大値・最小値・累乗・平方根
最大値:Math.max
引数の中で一番大きい数を返します。
console.log(Math.max(3, 10, 7)); // 10
console.log(Math.max(-5, -2, -8)); // -2
JavaScript配列に対して使いたい場合は、スプレッド構文と組み合わせます。
const nums = [3, 10, 7];
console.log(Math.max(...nums)); // 10
JavaScript最小値:Math.min
最大値の逆です。
console.log(Math.min(3, 10, 7)); // 3
console.log(Math.min(-5, -2, -8)); // -8
const nums = [3, 10, 7];
console.log(Math.min(...nums)); // 3
JavaScript累乗:Math.pow(と ** 演算子)
a の b 乗(a^b)を計算します。
console.log(Math.pow(2, 3)); // 8(2の3乗)
console.log(Math.pow(10, 2)); // 100
JavaScript最近の JavaScript では、累乗演算子 ** も使えます。
console.log(2 ** 3); // 8
console.log(10 ** 2); // 100
JavaScript平方根:Math.sqrt
平方根(ルート)を求めます。
console.log(Math.sqrt(9)); // 3
console.log(Math.sqrt(16)); // 4
console.log(Math.sqrt(2)); // 1.4142...(おおよそ)
JavaScript2 乗とセットで、「距離」や「ピタゴラスの定理」などにも使えます。
ここが重要です。Math.max / Math.min は「値の範囲を決めたいとき」、Math.pow / ** と Math.sqrt は「指数的な変化」や「根」を扱うときの基本道具です。
特に min/max は、配列の中から一番大きい・小さい値を探す処理で頻出します。
ランダム値生成:Math.random(超頻出)
Math.random の基本挙動
Math.random() は、
0 以上 1 未満の乱数(0 <= x < 1)を返します。
console.log(Math.random()); // 0.123456...
console.log(Math.random()); // 0.987654...
console.log(Math.random()); // 呼ぶたびに違う値
JavaScript常に 0.〇〇〇… の小数で、1 ちょうどにはなりません。
0 以上 n 未満の整数を作る
例えば「0〜9 のどれかの整数」が欲しい場合。
const n = Math.floor(Math.random() * 10);
console.log(n); // 0〜9 のどれか
JavaScript流れはこうです。
Math.random() → [0,1)
Math.random() * 10 → [0,10)
Math.floor(…) → 0,1,2,…,9 のいずれか
同様に、「1〜10」のような範囲を作るにはこうします。
function randomInt(min, max) {
// min 以上 max 以下の整数
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(randomInt(1, 10)); // 1〜10 のどれか
JavaScriptランダムに配列の要素を 1 つ選ぶ
const items = ["apple", "banana", "orange"];
const index = Math.floor(Math.random() * items.length);
const choice = items[index];
console.log(choice); // 3つのうちどれか
JavaScriptここが重要です。Math.random 単体では「0〜1 の小数」しかくれません。
実際に使うときは必ず
「乱数 × 範囲の幅 → Math.floor で整数化 → 必要なら +min」
というパターンに変換して使う、という感覚を持ってください。
定数:Math.PI など
円周率:Math.PI
円周率 π(パイ)を表す定数です。
console.log(Math.PI); // およそ 3.141592653589793
JavaScript円の長さや面積にも使えます。
const r = 5;
const circumference = 2 * Math.PI * r; // 円周
const area = Math.PI * r * r; // 面積
console.log(circumference);
console.log(area);
JavaScriptその他の定数(名前だけ眺めておけば十分)
Math には他にもいくつか定数があります。
Math.E 自然対数の底 eMath.LN2 2 の自然対数Math.SQRT2 √2
数値計算やグラフなどを本格的にやるときには役立ちますが、
初心者段階では「Math.PI だけちゃんと覚えておく」くらいで十分です。
ここが重要です。
Math の定数は、「よく使う数学的な値を、自分で書かなくていいようにしてくれているもの」です。
特に π は、3.14… を毎回手打ちするより Math.PI を使うほうが正確で読みやすいです。
初心者として Math で本当に押さえてほしいこと
Math は new しない、“そのまま使う計算道具箱”。Math.abs(絶対値)、Math.round / Math.floor / Math.ceil(丸め)、Math.max / Math.min(最大・最小)、Math.random(乱数)は特に頻出。
Math.random は「0〜1 の小数」なので、Math.floor(Math.random() * N) の形で「0〜N-1 の整数」に変換して使うのが基本パターン。
Math.PI は円周率。円の計算などでほぼ必須。
どのメソッドも「元の値を変えずに、新しい数値を返す」ことを忘れない。
ここが重要です。
Math オブジェクトは「算術演算子だけでは書きづらい、少しだけ“賢い”数値処理」を肩代わりしてくれる存在です。
「丸めたい」「最大値・最小値が欲しい」「ランダムにしたい」と思ったら、
まず Math にそれ用のメソッドがないかを思い出すクセをつけると、
自分で複雑な式をこね回さずに済むようになります。
もし試してみたくなったら、次のような小さな練習をしてみてください。
// 1〜6 のサイコロを 10 回振る
for (let i = 0; i < 10; i++) {
const dice = Math.floor(Math.random() * 6) + 1;
console.log(dice);
}
// いくつかの数から最大値・最小値を出す
const nums = [3.7, 9.1, -2, 0, 5.5];
console.log("max:", Math.max(...nums));
console.log("min:", Math.min(...nums));
console.log("rounded first:", Math.round(nums[0]));
JavaScript実行しながら、「Math がなかったらこれをどう書かなきゃいけないか?」を想像してみると、
Math オブジェクトのありがたみがかなりリアルに感じられるはずです。
