å¹ï¼**ï¼
åºçº¿
广æ³å¯ç¨
èª 2017å¹´3æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
å¹ï¼**ï¼è¿ç®ç¬¦è¿å第ä¸ä¸ªæä½æ°å第äºä¸ªæä½æ°çå¹çç»æãå®çä»·äº Math.pow()ï¼ä¸åä¹å¤å¨äºï¼å®è¿æ¥å BigInt ä½ä¸ºæä½æ°ã
å°è¯ä¸ä¸
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
æè¿°
å¹è¿ç®ç¬¦æ¯å³ç»åçï¼a ** b ** c çäº a ** (b ** c)ã
å¨å¤§å¤æ°è¯è¨éï¼æ¯å¦ PHPãPython çé£äºæå¹è¿ç®ç¬¦ï¼**ï¼çè¯è¨ï¼å¹è¿ç®ç¬¦è¢«å®ä¹æä¸ä¸ªæ¯ä¸å
è¿ç®ç¬¦ï¼æ¯å¦ä¸å
ç + åä¸å
ç - æ´é«çè¿ç®é¡ºåºï¼ä½æä¸äºä¾å¤ãå¨ Bash è¯è¨éï¼** è¿ç®ç¬¦è¢«å®ä¹æä¸ä¸ªæ¯ä¸å
è¿ç®ç¬¦æ´ä½çè¿ç®é¡ºåºã
å¨ JavaScript ä¸ï¼ä¸å¯è½ååºæ¨¡æ£±ä¸¤å¯çå¹è¡¨è¾¾å¼ãä¹å°±æ¯è¯´ï¼ä½ ä¸è½å°ä¸å
è¿ç®ç¬¦ï¼+/-/~/!/delete/void/typeofï¼æ¾å¨åºæ°ä¹åï¼è¿æ ·åä¼å¯¼è´è¯æ³é误ã
ä¾å¦ï¼-2 ** 2 å¨ Bash ä¸ä¸º 4ï¼ä½å¨å
¶ä»è¯è¨ï¼å¦ Pythonï¼ä¸ä¸º -4ãè¿å¨ JavaScript 䏿¯æ æçï¼å 为æä½ä¸æç¡®ãä½ å¿
é¡»å¨ä¸¤è¾¹å 䏿¬å·ââä¾å¦ï¼ä½ä¸º -(2 ** 2)ââ以使æå¾æç¡®ã
请注æï¼æäºç¼ç¨è¯è¨ä½¿ç¨æå ¥ç¬¦å· ^ è¿è¡æ±å¹ï¼ä½ JavaScript 使ç¨è¯¥ç¬¦å·è¡¨ç¤ºé»è¾å¼æè¿ç®ç¬¦ã
NaN ** 0ï¼åçä»·ç Math.pow(NaN, 0)ï¼æ¯ NaN ä¸éè¿æ°å¦è¿ç®ä¼ æçå¯ä¸æ
åµââ尽管æä½æ°æ¯ NaNï¼ä½å®è¿å 1ãæ¤å¤ï¼base 为 1 ä¸ exponent 为éæéï¼Â±Infinity æ NaNï¼çè¡ä¸ºä¸ IEEE 754 ä¸åï¼IEEE 754 æå®ç»æåºä¸º 1ï¼è JavaScript è¿å NaN ä»¥ä¿æä¸å
¶åå§è¡ä¸ºçååå
¼å®¹æ§ã
示ä¾
>åºæ¬æ±å¹
2 ** 3; // 8
3 ** 2; // 9
3 ** 2.5; // 15.588457268119896
10 ** -1; // 0.1
NaN ** 2; // NaN
NaN ** 0; // 1
1 ** Infinity; // NaN
ç»åæ§
2 ** 3 ** 2; // 512
2 ** (3 ** 2); // 512
(2 ** 3) ** 2; // 64
ä¸ä¸å è¿ç®ç¬¦ä¸èµ·ä½¿ç¨
åå¹è¡¨è¾¾å¼çå¼çç¸åæ°ï¼
-(2 ** 2); // -4
å°å¹è¡¨è¾¾å¼çåºæ°è½¬å为ä¸ä¸ªè´æ°ï¼
(-2) ** 2; // 4
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-exp-operator> |