Start · Sprachen · JavaScript · Referenz · Math.LN10

Math.LN10

Eigenschaft

Die statische Eigenschaft <code>Math.LN10</code> enthält den natürlichen Logarithmus von 10, also ungefähr <code>2.302585092994046</code>.

seit JavaScript ES1 (Baseline: alle Browser) Kategorie: method-property

Signatur

Math.LN10

Beschreibung

Math.LN10 ist eine mathematische Konstante mit dem Wert von ln(10) ≈ 2.302585092994046. Sie ist eine statische Eigenschaft des Math-Objekts. Du greifst also immer direkt über Math.LN10 darauf zu und erzeugst keine Instanz, denn Math ist kein Konstruktor.

Die Konstante brauchst du vor allem, wenn du zwischen natürlichem Logarithmus und Zehnerlogarithmus umrechnen willst. Es gilt: log10(x) = ln(x) / ln(10) und umgekehrt ln(x) = log10(x) * ln(10). Außerdem gilt Math.exp(x * Math.LN10) === 10 ** x (bis auf Rundungsfehler). Das kommt z. B. bei Dezibel-Rechnungen, pH-Werten, Größenordnungen oder logarithmischen Skalen in Diagrammen vor.

Die Eigenschaft ist nicht schreibbar, nicht aufzählbar und nicht konfigurierbar. Wenn du ihr einen Wert zuweist, passiert im Sloppy Mode nichts. Im Strict Mode wirft die Zuweisung einen TypeError.

Rückgabewert

Typ
number
Beschreibung
Der natürliche Logarithmus von 10 als Gleitkommazahl mit doppelter Genauigkeit: 2.302585092994046.

Beispiele

Wert der Konstante ausgeben

console.log(Math.LN10);
console.log(Math.LN10 === Math.log(10));
console.log(Math.LN10.toFixed(3));
2.302585092994046 true 2.303

Zehnerlogarithmus über ln berechnen (Fallback)

// Umrechnung ln(x) -> log10(x)
const log10 = (x) => Math.log(x) / Math.LN10;

console.log(log10(1000));
console.log(Math.log10(1000)); // eingebaute Variante (ES2015)
2.9999999999999996 3

Dezibel-Werte in Leistungsverhältnisse umrechnen

// 10^(dB/10) mit Math.exp und Math.LN10
const dbToRatio = (db) => Math.exp((db / 10) * Math.LN10);
const ratioToDb = (ratio) => 10 * (Math.log(ratio) / Math.LN10);

console.log(dbToRatio(20).toFixed(2));
console.log(ratioToDb(2).toFixed(2));
100.00 3.01

Schreibschutz im Strict Mode

'use strict';
try {
  Math.LN10 = 3;
} catch (err) {
  console.log(err instanceof TypeError);
}
console.log(Math.LN10);
true 2.302585092994046

// Wichtig · Fallstricke

  • Rundungsfehler: Wenn du mit Math.log(x) / Math.LN10 rechnest, bekommst du bei exakten Zehnerpotenzen manchmal Werte wie 2.9999999999999996 statt 3. Nimm lieber Math.log10() (ES2015), das ist genauer. Wenn du Stellen zählen willst (z. B. mit Math.floor), musst du das Ergebnis vorher runden.
  • Verwechslungsgefahr: Math.LN10 ist ln(10) ≈ 2,303. Den Kehrwert log10(e) ≈ 0,434 liefert Math.LOG10E.
  • Schreibschutz: Zuweisungen werden im Sloppy Mode stillschweigend ignoriert und werfen im Strict Mode einen TypeError.
  • Kompatibilität: Die Konstante gibt es seit ECMAScript 1 in allen Browsern und in Node.js.