Signatur
Beschreibung
Math.LOG10E ist eine mathematische Konstante mit dem Wert log10(e) ≈ 0.4342944819032518. Sie ist der Kehrwert von Math.LN10 und rechnet einen natürlichen Logarithmus in einen Zehnerlogarithmus um: log10(x) = ln(x) · log10(e).
Da LOG10E eine statische Eigenschaft von Math ist, schreibt man immer Math.LOG10E. Math ist kein Konstruktor, daher gibt es keine Instanzen, über die man auf die Konstante zugreifen könnte.
Im Alltag braucht man die Konstante selten, weil es seit ES2015 Math.log10() gibt. Nützlich ist sie trotzdem, wenn schon natürliche Logarithmen vorliegen, zum Beispiel aus einer Formel oder einer Messreihe. Dann spart man einen weiteren Funktionsaufruf und multipliziert einfach mit der Konstante. Das hilft etwa bei Dezibel-Rechnungen, in der Statistik oder in Code, der auch in sehr alten Umgebungen ohne Math.log10() laufen muss.
Die Eigenschaft ist nicht beschreibbar, nicht aufzählbar und nicht konfigurierbar. Ihr Wert lässt sich also nicht ändern.
Rückgabewert
0.4342944819032518.Beispiele
Wert der Konstante ausgeben
console.log(Math.LOG10E);
console.log(typeof Math.LOG10E);
Natürlichen Logarithmus in Zehnerlogarithmus umrechnen
// Ersatz für Math.log10(), falls nur ln(x) vorliegt
const log10AusLn = (lnWert) => lnWert * Math.LOG10E;
const ln = Math.log(1000);
console.log(log10AusLn(ln).toFixed(10));
console.log(Math.log10(1000));
Praxis: Leistungsverhältnis in Dezibel
// dB = 10 * log10(P / P0), hier aus einem natürlichen Logarithmus berechnet
const dezibel = (leistung, referenz) =>
10 * Math.log(leistung / referenz) * Math.LOG10E;
console.log(`${dezibel(200, 1).toFixed(2)} dB`);
console.log(`${dezibel(0.5, 1).toFixed(2)} dB`);
Die Konstante ist schreibgeschützt
'use strict';
try {
Math.LOG10E = 1;
} catch (err) {
console.log(err instanceof TypeError); // Zuweisung im Strict Mode verboten
}
console.log(Math.LOG10E);
// Wichtig · Fallstricke
- Schreibschutz: Eine Zuweisung an
Math.LOG10Ewird außerhalb des Strict Mode stillschweigend ignoriert. Im Strict Mode (und damit auch in ES-Modulen und Klassen) löst sie einenTypeErroraus. - Rundungsfehler:
Math.log(x) * Math.LOG10Eliefert nicht immer genau dasselbe Ergebnis wieMath.log10(x). Bei Zehnerpotenzen erhält man zum Beispiel manchmal2.9999999999999996statt3. Wenn exakte Ganzzahlen wichtig sind, etwa beim Zählen von Stellen, nimmt man besserMath.log10(). - Nicht verwechseln:
Math.LOG10E(≈ 0,434) ist der Kehrwert vonMath.LN10(≈ 2,303). Zur Umrechnung von ln nach log10 multipliziert man mitLOG10Eoder teilt durchLN10. - Kompatibilität: Die Konstante gibt es seit ECMAScript 1 in allen Browsern und in Node.js.