ææ¸éç®åï¼**ï¼
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2017å¹´3æ.
ææ¸éç®åï¼**ï¼æåå³ä»¥ç¬¬ä¸åæ¸åä½çºåºæ¸ï¼ç¬¬äºåæ¸ååçºææ¸çéç®çµæã
å®é¡åæ¼ Math.powï¼ä¸ä¸æ¨£çæ¯ ** å¯ä»¥ç¨æ¼ BigInt çè¨ç®è Math.pow ä¸è¡ã
å試ä¸ä¸
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
èªæ³
x ** y
ç°¡ä»
ææ¸éç®åæ¯ right-associativeï¼a ** b ** c ç¸ç¶æ¼ a ** (b ** c)ã
å¨çµå¤§å¤æ¸çç¨å¼èªè¨ï¼ä¾å¦ PHPãPythonâ¦â¦ççï¼ææ¸éç®çåªå
é åºæ¯ä¸å
éç®åï¼ + æ - ï¼è¼é«ãä½ä¸¦éææç¨å¼èªè¨åæ¯å¦æ¤ã
èä¾ä¾èªªï¼å¨ Bashï¼** çåªå
é åºå°±ä½æ¼ä¸å
éç®åã
å¨ Javascriptï¼æ¨¡æ£±å
©å¯çæ±åªéç®å¼ãèªªå¾æ¸
æ¥ä¸é»ï¼+/-/~/!/delete/void/typeof éé¡ä¸å
éç®ååä¸è½ç½®æ¼åºæ¸ä¹åï¼å¦åæåºç¾ SyntaxErrorã
-2 ** 2;
// å¨ Bash ççµæçº 4ï¼å
¶ä»èªè¨åçº -4
// å¨ JavaScript åæ¯è¢«è¦çºèªæä¸æã
-(2 ** 2);
// å¨ Javascript å°±æå¾åº -4ãé種寫æ³çèªæå°±å¾æç¢º
注æï¼å¨é¨åèªè¨ä¹ä¸ï¼ææ¸éç®æ¡ç¨æå ¥ç¬¦è ^ ï¼ä½æ¯å¨ Javascript ï¼^ åæ¯ç¨æ¼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
èä¸å éç®åä¸å使ç¨
åè½ææ¸éç®çµæä¹æ£è² ï¼
-(2 ** 2); // -4
è¨ç®åºæ¸çºè² æ¸çææ¸éç®ï¼
(-2) ** 2; // 4
è¦ç¯
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-exp-operator> |