Start · Sprachen · JavaScript · Referenz · Math.log()

Math.log()

Methode

Die statische Methode <code>Math.log()</code> gibt den natürlichen Logarithmus (Basis e) einer Zahl zurück.

Kategorie: method-property

Signatur

Math.log(x)

Beschreibung

Die statische Methode Math.log() gibt den natürlichen Logarithmus (Basis e) einer Zahl zurück. Das heißt, für alle x > 0 ist Math.log(x) = ln(x) = das eindeutige y, für das e^y = x gilt.

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

Wenn du den natürlichen Logarithmus von 2 oder 10 benötigst, verwende die Konstanten Math.LN2 oder Math.LN10. Wenn du einen Logarithmus zur Basis 2 oder 10 benötigst, verwende Math.log2() oder Math.log10(). Wenn du einen Logarithmus zu anderen Basen benötigst, verwende Math.log(x) / Math.log(otherBase) wie im Beispiel unten; unter Umständen möchtest du 1 / Math.log(otherBase) vorab berechnen, da die Multiplikation in Math.log(x) * constant deutlich schneller ist.

Beachte, dass positive Zahlen sehr nahe an 1 unter Präzisionsverlust leiden können und der natürliche Logarithmus dadurch ungenauer wird. In diesem Fall solltest du stattdessen Math.log1p verwenden.

Parameter

Name Typ Default Beschreibung
$x Pflicht number Eine Zahl größer oder gleich 0.

Rückgabewert

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

Beispiele

Verwendung von Math.log()

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

function getBaseLog(x, y) {
  return Math.log(y) / Math.log(x);
}
getBaseLog(10, 1000) gibt aufgrund von Fließkomma-Rundung 2.9999999999999996 zurück, liegt aber sehr nahe am tatsächlichen Ergebnis 3.