JavaScript Math オブジェクト

JavaScriptのMathオブジェクトを使用すると、数値に対して数学的な操作を行うことができます。

Math オブジェクト

Mathオブジェクトは他のオブジェクトと異なり、コンストラクタを持ちません。

Mathオブジェクトは静的です。つまり、Mathオブジェクトを生成することなく、すべてのメソッドやプロパティを使用することができます。

Math プロパティ(定数)

すべてのMathプロパティの構文は: Math.property です。

JavaScriptは8つの数学定数を提供しており、これらはMathのプロパティとしてアクセスできます:

  • Math.E // Euler’s number
  • Math.PI // PI
  • Math.SQRT2 // 2の平方根
  • Math.SQRT1_2 // 1/2の平方根
  • Math.LN2 // 2の自然対数
  • Math.LN10 // 10の自然対数
  • Math.LOG2E // Eの底2の対数
  • Math.LOG10E // Eの底10の対数

Math メソッド

すべてのMathメソッドの構文は: Math.method(number) です。

整数への変換

数値を整数に丸めるための一般的な4つのメソッドがあります:

  • Math.round(x) // 最も近い整数に丸める
  • Math.ceil(x) // 最も近い整数に切り上げる
  • Math.floor(x) // 最も近い整数に切り下げる
  • Math.trunc(x) // xの整数部分を返す(ES6で追加)

Math.round()

Math.round(x) は最も近い整数を返します:


Math.round(4.6);
Math.round(4.5);
Math.round(4.4);

Math.ceil()

Math.ceil(x) はxを最も近い整数に切り上げた値を返します:


Math.ceil(4.9);
Math.ceil(4.7);
Math.ceil(4.4);
Math.ceil(4.2);
Math.ceil(-4.2);

Math.floor()

Math.floor(x) はxを最も近い整数に切り下げた値を返します:


Math.floor(4.9);
Math.floor(4.7);
Math.floor(4.4);
Math.floor(4.2);
Math.floor(-4.2);

Math.trunc()

Math.trunc(x) はxの整数部分を返します:


Math.trunc(4.9);
Math.trunc(4.7);
Math.trunc(4.4);
Math.trunc(4.2);
Math.trunc(-4.2);

Math.sign()

Math.sign(x) はxが負、ゼロ、または正であるかを返します:


Math.sign(-4);
Math.sign(0);
Math.sign(4);

Math.trunc() および Math.sign() は JavaScript 2015 – ES6 で追加されました。

Math.pow()

Math.pow(x, y) はxのy乗を返します:


Math.pow(8, 2);

Math.sqrt()

Math.sqrt(x) はxの平方根を返します:


Math.sqrt(64);

Math.abs()

Math.abs(x) はxの絶対値(正の値)を返します:


Math.abs(-4.7);

Math.sin()

Math.sin(x) は角度x(ラジアンで指定)の正弦値(-1から1の値)を返します。

度数ではなくラジアンで指定する場合は、度数をラジアンに変換する必要があります:

角度(ラジアン) = 角度(度数) x PI / 180.


Math.sin(90 * Math.PI / 180);     // 1を返す(90度の正弦)

Math.cos()

Math.cos(x) は角度x(ラジアンで指定)の余弦値(-1から1の値)を返します。

度数ではなくラジアンで指定する場合は、度数をラジアンに変換する必要があります:

角度(ラジアン) = 角度(度数) x PI / 180.


Math.cos(0 * Math.PI / 180);     // 1を返す(0度の余弦)

Math.min() と Math.max()

Math.min() および Math.max() は引数リストの中から最小値または最大値を見つけるために使用できます:


Math.min(0, 150, 30, 20, -8, -200);
Math.max(0, 150, 30, 20, -8, -200);

Math.random()

Math.random() は0(含む)から1(排他)までのランダムな数値を返します:


Math.random();

The Math.log() メソッド

Math.log(x) はxの自然対数(底eの対数)を返します。

自然対数は特定の成長レベルに達するまでにかかる時間を示します:


Math.log(1);
Math.log(2);
Math.log(3);

Math.E と Math.log() は対になっています。

Math.Eを何回かかけると10が得られますか?


Math.log(10);

The Math.log2() メソッド

Math.log2(x) はxの底2の対数を返します。

2を何回かかけると8が得られますか?


Math.log2(8);

The Math.log10() メソッド

Math.log10(x) はxの底10の対数を返します。

10を何回かかけると1000が得られますか?


Math.log10(1000);

JavaScript Math メソッド

メソッド 説明
abs(x) xの絶対値を返す
acos(x) xの逆余弦を返す(ラジアンで)
acosh(x) xの逆双曲線余弦を返す
asin(x) xの逆正弦を返す(ラジアンで)
asinh(x) xの双曲線正弦を返す
atan(x) xの逆正接を数値で返す(-PI/2 から PI/2 のラジアン)
atan2(y, x) 引数の商の逆正接を返す
atanh(x) xの双曲線逆正接を返す
cbrt(x) xの立方根を返す
ceil(x) xを切り上げた最も近い整数を返す
cos(x) xの余弦を返す(xはラジアン)
cosh(x) xの双曲線余弦を返す
exp(x) E^xの値を返す
floor(x) xを切り下げた最も近い整数を返す
log(x) xの自然対数(底E)を返す
max(x, y, z, …, n) 最大値を返す
min(x, y, z, …, n) 最小値を返す
pow(x, y) xのy乗を返す
random() 0から1までのランダムな数値を返す
round(x) xを最も近い整数に丸める
sign(x) xが負、ゼロ、または正であるかを返す(-1、0、1)
sin(x) xの正弦を返す(xはラジアン)
sinh(x) xの双曲線正弦を返す
sqrt(x) xの平方根を返す
tan(x) 角度のタンジェントを返す
tanh(x) 双曲線タンジェントを返す
trunc(x) 数値の整数部分を返す