[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Exponentiation [Back]  [Original]

Exponentiation (**) - JavaScript | MDN

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

Exponentiation (**)

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 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.

Dans cet article

Exemple interactif

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

Syntaxe

js
Oprateur: var1 ** var2;

Description

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.

js
-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).

Exemples

Exponentiation simple

js
2 ** 3; // 8
3 ** 2; // 9
3 ** 2.5; // 15.588457268119896
10 ** -1; // 0.1
NaN ** 2; // NaN

Associativit

js
2 ** 3 ** 2; // 512
2 ** (3 ** 2); // 512
(2 ** 3) ** 2; // 64

Avec les oprateurs unaires

Pour prendre l'oppos du rsultat :

js
-(2 ** 2); // -4

Pour forcer le signe de la base en ngatif :

js
(-2) ** 2; // 4

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-exp-operator

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page