Math : méthode statique pow()
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.pow() retourne la valeur d'une base élevée à une puissance. C'est-à-dire
Exemple interactif
console.log(Math.pow(7, 3));
// Sortie attendue : 343
console.log(Math.pow(4, 0.5));
// Sortie attendue : 2
console.log(Math.pow(7, -2));
// Sortie attendue : 0.02040816326530612
// (1/49)
console.log(Math.pow(-7, 0.5));
// Sortie attendue : NaN
Syntaxe
Math.pow(base, exponent)
Paramètres
Valeur de retour
Un nombre représentant base élevé à la puissance exponent. Retourne NaN dans l'un des cas suivants :
exponentestNaN.baseestNaNetexponentn'est pas0.baseest ±1 etexponentest ±Infinity.base < 0etexponentn'est pas un entier.
Description
Math.pow() est équivalent à l'opérateur **, sauf que Math.pow() n'accepte que des nombres.
Math.pow(NaN, 0) (et l'équivalent NaN ** 0) est le seul cas où NaN ne se propage pas à travers les opérations mathématiques — il retourne 1 malgré le fait que l'opérande soit NaN. De plus, le comportement où base est 1 et exponent est non fini (±Infinity ou NaN) est différent de la norme IEEE 754, qui définit que le résultat doit être 1, tandis que JavaScript retourne NaN pour préserver la compatibilité avec son comportement original.
Puisque pow() est une méthode statique de Math, elle doit toujours être utilisée avec la syntaxe Math.pow(), elle ne doit pas être utilisée comme une méthode d'un autre objet qui a été créé (Math n'est pas un constructeur).
Exemple
>Utiliser Math.pow()
// Cas simples
Math.pow(7, 2); // 49
Math.pow(7, 3); // 343
Math.pow(2, 10); // 1024
// Exposants fractionnaires
Math.pow(4, 0.5); // 2 (racine carrée de 4)
Math.pow(8, 1 / 3); // 2 (racine cubique de 8)
Math.pow(2, 0.5); // 1.4142135623730951 (racine carrée de 2)
Math.pow(2, 1 / 3); // 1.2599210498948732 (racine cubique de 2)
// Exposants négatifs
Math.pow(7, -2); // 0.02040816326530612 (1/49)
Math.pow(8, -1 / 3); // 0.5
// Bases négatives
Math.pow(-7, 2); // 49 (le carré est positif)
Math.pow(-7, 3); // -343 (le cube peut être négatif)
Math.pow(-7, 0.5); // NaN (les nombres négatifs n'ont pas de racine carrée réelle)
// En raison de la proximité des racines « paires » et « impaires »,
// et des limites de la précision des nombres flottants,
// les bases négatives avec des exposants fractionnaires retournent
// toujours NaN, même lorsque le résultat mathématique est réel
Math.pow(-7, 1 / 3); // NaN
// Zéro et infini
Math.pow(0, 0); // 1 (n'importe quoi ** ±0 est 1)
Math.pow(Infinity, 0.1); // Infinity (exposant positif)
Math.pow(Infinity, -1); // 0 (exposant négatif)
Math.pow(-Infinity, 1); // -Infinity (exposant impair positif)
Math.pow(-Infinity, 1.5); // Infinity (exposant positif)
Math.pow(-Infinity, -1); // -0 (exposant impair négatif)
Math.pow(-Infinity, -1.5); // 0 (exposant négatif)
Math.pow(0, 1); // 0 (exposant positif)
Math.pow(0, -1); // Infinity (exposant négatif)
Math.pow(-0, 1); // -0 (exposant impair positif)
Math.pow(-0, 1.5); // 0 (exposant positif)
Math.pow(-0, -1); // -Infinity (exposant impair négatif)
Math.pow(-0, -1.5); // Infinity (exposant négatif)
Math.pow(0.9, Infinity); // 0
Math.pow(1, Infinity); // NaN
Math.pow(1.1, Infinity); // Infinity
Math.pow(0.9, -Infinity); // Infinity
Math.pow(1, -Infinity); // NaN
Math.pow(1.1, -Infinity); // 0
// NaN : seul Math.pow(NaN, 0) ne retourne pas NaN
Math.pow(NaN, 0); // 1
Math.pow(NaN, 1); // NaN
Math.pow(1, NaN); // NaN
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Language Specification> # sec-math.pow> |
Compatibilité des navigateurs
Voir aussi
- La méthode statique
Math.cbrt() - La méthode statique
Math.exp() - La méthode statique
Math.log() - La méthode statique
Math.sqrt() - L'opérateur d'exponentiation (
**)