Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Math : méthode statique expm1()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La méthode statique Math.expm1() retourne e élevé à la puissance d'un nombre, moins 1. C'est-à-dire

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

Exemple interactif

console.log(Math.expm1(0));
// Sortie attendue : 0

console.log(Math.expm1(1));
// Sortie attendue : 1.718281828459045

console.log(Math.expm1(-1));
// Sortie attendue : -0.6321205588285577

console.log(Math.expm1(2));
// Sortie attendue : 6.38905609893065

Syntaxe

js
Math.expm1(x)

Paramètres

x

Un nombre.

Valeur de retour

Un nombre représentant ex - 1, où e est la base du logarithme naturel.

Description

Pour des très petites valeurs de x, l'ajout de 1 peut réduire ou éliminer la précision. Les nombres à virgule flottante de type double utilisés en JavaScript offrent une précision d'environ 15 chiffres. 1 + 1e-15 = 1.000000000000001, mais 1 + 1e-16 = 1.000000000000000 et donc exactement 1,0 dans ce calcul, car les chiffres au-delà du 15e sont arrondis.

Lorsque vous calculez ex\mathrm{e}^x, où x est un nombre très proche de 0, vous devez obtenir un résultat très proche de 1 + x car : limx0ex1x=1\lim_{x \to 0} \frac{\mathrm{e}^x - 1}{x} = 1. Si vous calculez Math.exp(1.1111111111e-15) - 1, vous obtenez une réponse proche de 1.1111111111e-15. Or, comme le chiffre significatif le plus élevé du résultat de Math.exp est le chiffre des unités 1, la valeur finale s'établit à 1.1102230246251565e-15, avec seulement 3 chiffres corrects. Si vous calculez plutôt Math.expm1(1.1111111111e-15), vous obtenez une réponse bien plus précise, 1.1111111111000007e-15, avec 11 chiffres corrects de précision.

Comme expm1() est une méthode statique de Math, vous l'utilisez toujours sous la forme Math.expm1(), plutôt que comme une méthode d'un objet Math que vous avez créé (Math n'est pas un constructeur).

Exemple

Utiliser 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

Spécifications

Spécification
ECMAScript® 2027 Language Specification
# sec-math.expm1

Compatibilité des navigateurs

Voir aussi