Start · Sprachen · JavaScript · Referenz · Math.LOG10E

Math.LOG10E

Eigenschaft

Die statische Eigenschaft <code>Math.LOG10E</code> ist der Logarithmus zur Basis 10 von <em>e</em>, ungefähr <code>0.4342944819032518</code>.

seit JavaScript ES1 (Baseline: alle Browser, Node.js) Kategorie: method-property

Signatur

Math.LOG10E

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

Typ
number
Beschreibung
Den festen Zahlenwert log10(e) ≈ 0.4342944819032518.

Beispiele

Wert der Konstante ausgeben

console.log(Math.LOG10E);
console.log(typeof Math.LOG10E);
0.4342944819032518 number

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));
3.0000000000 3

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`);
23.01 dB -3.01 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);
true 0.4342944819032518

// Wichtig · Fallstricke

  • Schreibschutz: Eine Zuweisung an Math.LOG10E wird außerhalb des Strict Mode stillschweigend ignoriert. Im Strict Mode (und damit auch in ES-Modulen und Klassen) löst sie einen TypeError aus.
  • Rundungsfehler: Math.log(x) * Math.LOG10E liefert nicht immer genau dasselbe Ergebnis wie Math.log10(x). Bei Zehnerpotenzen erhält man zum Beispiel manchmal 2.9999999999999996 statt 3. Wenn exakte Ganzzahlen wichtig sind, etwa beim Zählen von Stellen, nimmt man besser Math.log10().
  • Nicht verwechseln: Math.LOG10E (≈ 0,434) ist der Kehrwert von Math.LN10 (≈ 2,303). Zur Umrechnung von ln nach log10 multipliziert man mit LOG10E oder teilt durch LN10.
  • Kompatibilität: Die Konstante gibt es seit ECMAScript 1 in allen Browsern und in Node.js.