èªå¢ï¼++ï¼
åºçº¿
广æ³å¯ç¨
èª 2015å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
èªå¢ï¼++ï¼è¿ç®ç¬¦å¯¹å
¶æä½æ°è¿è¡èªå¢ï¼å ä¸ï¼ï¼å¹¶æ ¹æ®è¿ç®ç¬¦çä½ç½®è¿åèªå¢ä¹åæä¹åçå¼ã
å°è¯ä¸ä¸
let x = 3;
const y = x++;
console.log(`x:${x}, y:${y}`);
// Expected output: "x:4, y:3"
let a = 3;
const b = ++a;
console.log(`a:${a}, b:${b}`);
// Expected output: "a:4, b:4"
è¯æ³
x++
++x
æè¿°
å¦æä½¿ç¨åç¼å¼ï¼å³å°è¿ç®ç¬¦æ¾å¨æä½æ°çåé¢ï¼ä¾å¦ x++ï¼ï¼æä½æ°ä¼å ä¸ï¼ç¶åè¿åå ä¸ä¹åçå¼ã
å¦æä½¿ç¨åç¼å¼ï¼å³å°è¿ç®ç¬¦æ¾å¨æä½æ°çåé¢ï¼ä¾å¦ ++xï¼ï¼æä½æ°ä¼å ä¸ï¼ç¶åè¿åå ä¸ä¹åçå¼ã
èªå¢è¿ç®ç¬¦åªè½åºç¨äºå¼ç¨çæä½æ°ï¼åéåå¯¹è±¡å±æ§ï¼å³ææçèµå¼ç®æ ï¼ã++x æ¬èº«ç计ç®ç»ææ¯ä¸ä¸ªå¼ï¼è䏿¯ä¸ä¸ªå¼ç¨ï¼å æ¤ä¸è½å°å¤ä¸ªèªå¢è¿ç®ç¬¦é¾æ¥å¨ä¸èµ·ã
++(++x); // SyntaxError: Invalid left-hand side expression in prefix operation
示ä¾
>åç¼å¼
let x = 3;
const y = x++;
// x = 4
// y = 3
åç¼å¼
let x = 3;
const y = ++x;
// x = 4
// y = 4
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-postfix-increment-operator> |