Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Math.expm1()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Die statische Methode Math.expm1() gibt e potenziert mit einer Zahl und davon subtrahiert 1 zurück. Das bedeutet:

𝙼𝚊𝚝𝚑.𝚎𝚡𝚙𝚖𝟷(𝚡)=ex1\mathtt{\operatorname{Math.expm1}(x)}} = \mathrm{e}^x - 1

Probieren Sie es aus

console.log(Math.expm1(0));
// Expected output: 0

console.log(Math.expm1(1));
// Expected output: 1.718281828459045

console.log(Math.expm1(-1));
// Expected output: -0.6321205588285577

console.log(Math.expm1(2));
// Expected output: 6.38905609893065

Syntax

js
Math.expm1(x)

Parameter

x

Eine Zahl.

Rückgabewert

Eine Zahl, die ex - 1 darstellt, wobei e die Basis des natürlichen Logarithmus ist.

Beschreibung

Für sehr kleine Werte von x kann das Hinzufügen von 1 die Genauigkeit verringern oder eliminieren. Die in JavaScript verwendeten Gleitkommazahlen mit doppelter Genauigkeit bieten etwa 15 Stellen Genauigkeit. 1 + 1e-15 = 1.000000000000001, jedoch 1 + 1e-16 = 1.000000000000000 und somit genau 1.0 in dieser Arithmetik, da Stellen nach der 15. Stelle abgerundet werden.

Wenn Sie ex\mathrm{e}^x berechnen, wobei x eine Zahl ist, die sehr nahe bei 0 liegt, sollten Sie eine Antwort erhalten, die sehr nahe bei 1 + x ist, weil: limx0ex1x=1\lim_{x \to 0} \frac{\mathrm{e}^x - 1}{x} = 1. Wenn Sie Math.exp(1.1111111111e-15) - 1 berechnen, sollten Sie eine Antwort in der Nähe von 1.1111111111e-15 erhalten. Stattdessen, aufgrund der höchsten signifikanten Stelle im Ergebnis von Math.exp, die die Einheitsziffer 1 ist, endet der endgültige Wert bei 1.1102230246251565e-15 mit nur 3 korrekten Stellen. Wenn Sie stattdessen Math.expm1(1.1111111111e-15) berechnen, erhalten Sie eine weitaus genauere Antwort, 1.1111111111000007e-15, mit 11 korrekten Nachkommastellen.

Da expm1() eine statische Methode von Math ist, verwenden Sie sie immer als Math.expm1(), anstatt sie als Methode eines selbst erstellten Math-Objekts zu verwenden (Math ist kein Konstruktor).

Beispiele

Verwendung von Math.expm1()

js
Math.expm1(-Infinity); // -1
Math.expm1(-1); // -0.6321205588285577
Math.expm1(-0); // -0
Math.expm1(0); // 0
Math.expm1(1); // 1.718281828459045
Math.expm1(Infinity); // Infinity

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-math.expm1

Browser-Kompatibilität

Siehe auch