JavaScript: 数学
冪乗
冪乗b^xを求めるには、Math.pow(b, x)
を用いる。
Math.pow(2, 10) // 1024
Math.pow(10, 3) // 1000
ECMAScript 2016以降では、冪乗演算子(exponentiation operator)b ** x
でも同様の結果が得られる。
2 ** 10 // 1024
10 ** 3 // 1000
冪乗演算子では、BigIntの冪乗も計算可能である。
2 ** 64 // 18446744073709552000
2n ** 64n // 18446744073709551616n
対数
自然対数\ln xを求めるには、Math.log(x)
を用いる。また、自然対数の底eはMath.E
で取得できる。
Math.log(1) // 0
Math.log(Math.E) // 1
Math.log(Math.E ** 2) // 2
10を底とした常用 対数\log_{10} xは、Math.log10(x)
、2を底とした対数\log_2 xは、Math.log2(x)
でそれぞれ求められる。
Math.log10(10) // 1
Math.log10(123) // 2.089905111439398
Math.log2(128) // 7
任意の実数bを底とした対数\log_b xは、底の変換公式を用いて計算できる。
\log_b x = \frac{\ln x}{\ln b}
function logb(b, x) {
return Math.log(x) / Math.log(b);
}
logb(5, 5) // 1
logb(5, 25) // 2
三角関数
\sin x, \cos x, \tan xはMath.sin(x)
, Math.cos(x)
, Math.tan(x)
で求められる。ただし、引数はラジアンであることに注意する。\piはMath.PI
で取得できる。
Math.sin(Math.PI / 2) // 1
Math.cos(Math.PI / 2) // 6.123233995736766e-17
Math.tan(Math.PI / 4) // 0.9999999999999999
度数法から弧度法に変換
function degToRad(d) {
return d * (Math.PI / 180);
}
degToRad(180) // 3.141592653589793
degToRad(45) // 0.7853981633974483
弧度法から度数法に変換
function radToDeg(r) {
return r * (180 / Math.PI);
}
radToDeg(Math.PI / 2) // 90
radToDeg(Math.PI * (3 / 2)) // 270