Math.log()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die statische Methode Math.log() gibt den natürlichen Logarithmus (Basis e) einer Zahl zurück. Das heißt,

x>0,𝙼𝚊𝚝𝚑.𝚕𝚘𝚐(𝚡)=ln(x)=das einzigartige y so dass ey=x\forall x > 0,\;\mathtt{\operatorname{Math.log}(x)}} = \ln(x) = \text{das einzigartige } y \text{ so dass } e^y = x

Probieren Sie es aus

function getBaseLog(x, y) {
  return Math.log(y) / Math.log(x);
}

// 2 x 2 x 2 = 8
console.log(getBaseLog(2, 8));
// Expected output: 3

// 5 x 5 x 5 x 5 = 625
console.log(getBaseLog(5, 625));
// Expected output: 4

Syntax

js
Math.log(x)

Parameter

x

Eine Zahl größer oder gleich 0.

Rückgabewert

Der natürliche Logarithmus (Basis e) von x. Wenn x ±0 ist, wird -Infinity zurückgegeben. Wenn x < 0, wird NaN zurückgegeben.

Beschreibung

Da log() eine statische Methode von Math ist, wird sie immer als Math.log() verwendet, und nicht als Methode eines erstellten Math-Objekts (Math ist kein Konstruktor).

Wenn Sie den natürlichen Logarithmus von 2 oder 10 benötigen, verwenden Sie die Konstanten Math.LN2 oder Math.LN10. Wenn Sie einen Logarithmus zur Basis 2 oder 10 benötigen, verwenden Sie Math.log2() oder Math.log10(). Wenn Sie einen Logarithmus zu anderen Basen benötigen, verwenden Sie Math.log(x) / Math.log(otherBase) wie im Beispiel unten; Sie könnten 1 / Math.log(otherBase) im Voraus berechnen, da die Multiplikation in Math.log(x) * constant wesentlich schneller ist.

Seien Sie vorsichtig, dass positive Zahlen, die sehr nahe an 1 liegen, unter Präzisionsverlust leiden können und ihr natürlicher Logarithmus weniger genau ist. In diesem Fall sollten Sie möglicherweise Math.log1p verwenden.

Beispiele

Verwendung von Math.log()

js
Math.log(-1); // NaN
Math.log(-0); // -Infinity
Math.log(0); // -Infinity
Math.log(1); // 0
Math.log(10); // 2.302585092994046
Math.log(Infinity); // Infinity

Verwendung von Math.log() mit einer anderen Basis

Die folgende Funktion gibt den Logarithmus von y mit der Basis x zurück (also logxy\log_x y):

js
function getBaseLog(x, y) {
  return Math.log(y) / Math.log(x);
}

Wenn Sie getBaseLog(10, 1000) ausführen, wird 2.9999999999999996 aufgrund von Gleitkomma-Rundung zurückgegeben, aber immer noch sehr nahe am tatsächlichen Ergebnis von 3.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-math.log

Browser-Kompatibilität

Siehe auch