Start · Sprachen · JavaScript · Referenz · Math.E

Math.E

Eigenschaft

Die statische Eigenschaft <code>Math.E</code> liefert die Eulersche Zahl <em>e</em> (≈ 2,718), die Basis des natürlichen Logarithmus.

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

Signatur

Math.E

Beschreibung

Math.E ist eine statische Konstante des Math-Objekts. Sie enthält die Eulersche Zahl e, die Basis des natürlichen Logarithmus, als IEEE-754-Gleitkommazahl mit doppelter Genauigkeit: 2.718281828459045.

Man braucht Math.E vor allem in Formeln aus Mathematik, Physik und Finanzwesen, etwa für stetiges Wachstum oder stetige Verzinsung, exponentiellen Zerfall, Wahrscheinlichkeitsverteilungen wie Normal- oder Poisson-Verteilung und die Sigmoid-Funktion in neuronalen Netzen.

Da Math kein Konstruktor ist, greift man immer direkt über Math.E darauf zu. Die Eigenschaft hat die Attribute writable: false, enumerable: false und configurable: false. Sie lässt sich also nicht überschreiben und taucht nicht auf, wenn man über die Eigenschaften von Math iteriert.

Für die Potenz ex nimmt man besser Math.exp(x) statt Math.E ** x. Das ist lesbarer und oft etwas genauer.

Rückgabewert

Typ
number
Beschreibung
Die Eulersche Zahl als Gleitkommazahl: 2.718281828459045.

Beispiele

Wert ausgeben und prüfen

console.log(Math.E);
console.log(Math.log(Math.E)); // natürlicher Logarithmus von e
console.log(Math.E === Math.exp(1));
2.718281828459045 1 true

Stetige Verzinsung berechnen

// K = K0 * e^(r * t)
const stetigVerzinsen = (kapital, zinssatz, jahre) =>
  kapital * Math.E ** (zinssatz * jahre);

const endwert = stetigVerzinsen(1000, 0.05, 10);
console.log(endwert.toFixed(2));
1648.72

Sigmoid-Funktion für ein neuronales Netz

const sigmoid = (x) => 1 / (1 + Math.E ** -x);

const werte = [-2, 0, 2].map((x) => sigmoid(x).toFixed(4));
console.log(werte);
[ '0.1192', '0.5000', '0.8808' ]

Konstante ist schreibgeschützt

'use strict';
try {
  Math.E = 3;
} catch (err) {
  console.log(err.constructor.name); // TypeError im Strict Mode
}
console.log(Math.E);
TypeError 2.718281828459045

// Wichtig · Fallstricke

  • Keine Funktion: Math.E() wirft einen TypeError, weil Math.E eine Zahl ist.
  • Schreibgeschützt: Wenn man Math.E etwas zuweist, wird das außerhalb des Strict Mode stillschweigend ignoriert. Im Strict Mode gibt es einen TypeError.
  • Genauigkeit: Der Wert ist auf etwa 15–17 signifikante Stellen genau (double precision). Rechnungen damit haben die üblichen Rundungsfehler von Gleitkommazahlen. Ergebnisse vergleicht man deshalb am besten mit einer Toleranz wie Number.EPSILON.
  • Besser Math.exp() und Math.expm1(): Für ex ist Math.exp(x) vorzuziehen. Für sehr kleine x liefert Math.expm1(x) den Wert ex − 1 deutlich genauer als Math.E ** x - 1.
  • Kompatibilität: Funktioniert in allen Browsern und in Node.js ohne Einschränkungen.