Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Expressions et opérateurs
  5. Exponentiation (**)

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 EnglishAlways switch to English

Exponentiation (**)

Baseline Widely available

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'opérateur d'exponentiation (**) fournit le résultat obtenu lorsqu'on élève le premier opérande à la puissance indiquée par le second. Il est équivalentMath.pow exception faite que cet opérateur permet également d'utiliser des valeurs BigInt comme opérandes.

Exemple interactif

console.log(3 ** 4);// Expected output: 81console.log(10 ** -2);// Expected output: 0.01console.log(2 ** (3 ** 2));// Expected output: 512console.log((2 ** 3) ** 2);// Expected output: 64

Syntaxe

js
Opérateur: var1 ** var2;

Description

L'opérateur d'exponentiation est associatif à droite :a ** b ** c est équivalent àa ** (b ** c).

Pour la plupart des langages possédant un opérateur d'exponentiation (ex. PHP, Python, etc.), l'opérateur d'exponentiation possède une précédence plus élevée que les opérateurs unaires (comme l'addition unaire+ ou la soustraction unaire-). Il existe toutefois quelques exceptions comme Bash, où** possède une précédence inférieure à celles des opérateurs unaires.

En JavaScript, il est impossible d'écrire une expression d'exponentiation ambigüe : on ne peut pas placer un opérateur unaire (+/-/~/!/delete/void/typeof) avant le nombre servant de base, cela provoquera une exceptionSyntaxError.

js
-2 ** 2;// 4 en Bash, -4 pour d'autres langages.// Invalide en JavaScript car l'opération est ambigüe.-(2 ** 2);// -4 en JavaScript, les parenthèses évitent l'ambiguité.

Attnetion, certains langages de programmation utilisent l'accent circonflexe^ pour exprimer l'exponentiaion mais JavaScript utilise ce symbole pourl'opérateur binaire OU exclusif (XOR).

Exemples

Exponentiation simple

js
2 ** 3; // 83 ** 2; // 93 ** 2.5; // 15.58845726811989610 ** -1; // 0.1NaN ** 2; // NaN

Associativité

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

Avec les opérateurs unaires

Pour prendre l'opposé du résultat :

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

Pour forcer le signe de la base en négatif :

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

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-exp-operator

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp