--- title: Math.log() slug: Web/JavaScript/Reference/Global_Objects/Math/log tags: - JavaScript - Math - Method - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Math/log ---
Math.log()
関数は、 ({{jsxref("Math.E", "e")}} を底とした) 数値の自然対数を返します。
JavaScript の Math.log()
関数は、数学の ln(x) と同等です。
Math.log(x)
x
({{jsxref("Math.E", "e")}} を底とした) 与えられた数値の自然対数です。数値が負の数であった場合、 {{jsxref("NaN")}} が返されます。
x
の値が 0 であった場合、返値は常に {{jsxref("Number.NEGATIVE_INFINITY", "-Infinity")}} です。
x
の値が 0 未満であった場合、返値は常に {{jsxref("NaN")}} です。
log()
は Math
の静的メソッドであるため、生成した Math
オブジェクトのメソッドとしてではなく、常に Math.log()
として使用するようにしてください (Math
はコンストラクターではありません)。
2 または 10 の自然対数が必要な場合は、定数の {{jsxref("Math.LN2")}} または {{jsxref("Math.LN10")}} を使用してください。 2 や 10 を底とした対数が必要な場合は、 {{jsxref("Math.log2()")}} または {{jsxref("Math.log10()")}} を使用してください。他の数を底とした対数が必要な場合は、下記の例にあるように Math.log(x) / Math.log(otherBase) を使用してください。事前に 1 / Math.log(otherBase) を計算しておいた方がいいかもしれません。
Math.log(-1); // NaN, out of range Math.log(0); // -Infinity Math.log(1); // 0 Math.log(10); // 2.302585092994046
以下の関数は、 x
を底とした y
の対数を返します (すなわち )。
function getBaseLog(x, y) { return Math.log(y) / Math.log(x); }
getBaseLog(10, 1000)
を実行すると、実際の答えが 3 であるのに対し、浮動小数点の丸め処理により近似値の 2.9999999999999996
を返します。
仕様書 |
---|
{{SpecName('ESDraft', '#sec-math.log', 'Math.log')}} |
{{Compat("javascript.builtins.Math.log")}}