| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Exponentiation | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mars 2017.
L'oprateur d'exponentiation (**) fournit le rsultat obtenu lorsqu'on lve le premier oprande la puissance indique par le second. Il est quivalent Math.pow exception faite que cet oprateur permet galement d'utiliser des valeurs BigInt comme oprandes.
console.log(3 ** 4);
// Expected output: 81
console.log(10 ** -2);
// Expected output: 0.01
console.log(2 ** (3 ** 2));
// Expected output: 512
console.log((2 ** 3) ** 2);
// Expected output: 64
Oprateur: var1 ** var2;
L'oprateur d'exponentiation est associatif droite : a ** b ** c est quivalent a ** (b ** c).
Pour la plupart des langages possdant un oprateur d'exponentiation (ex. PHP, Python, etc.), l'oprateur d'exponentiation possde une prcdence plus leve que les oprateurs unaires (comme l'addition unaire + ou la soustraction unaire -). Il existe toutefois quelques exceptions comme Bash, o ** possde une prcdence infrieure celles des oprateurs unaires.
En JavaScript, il est impossible d'crire une expression d'exponentiation ambige : on ne peut pas placer un oprateur unaire (+/-/~/!/delete/void/typeof) avant le nombre servant de base, cela provoquera une exception SyntaxError.
-2 ** 2;
// 4 en Bash, -4 pour d'autres langages.
// Invalide en JavaScript car l'opration est ambige.
-(2 ** 2);
// -4 en JavaScript, les parenthses vitent l'ambiguit.
Attnetion, certains langages de programmation utilisent l'accent circonflexe ^ pour exprimer l'exponentiaion mais JavaScript utilise ce symbole pour l'oprateur binaire OU exclusif (XOR).
2 ** 3; // 8
3 ** 2; // 9
3 ** 2.5; // 15.588457268119896
10 ** -1; // 0.1
NaN ** 2; // NaN
2 ** 3 ** 2; // 512
2 ** (3 ** 2); // 512
(2 ** 3) ** 2; // 64
Pour prendre l'oppos du rsultat :
-(2 ** 2); // -4
Pour forcer le signe de la base en ngatif :
(-2) ** 2; // 4
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-exp-operator |
Cette page a t modifie le 7 sept. 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |