Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Sự khác biệt giữa a++ và ++a trong JavaScript là gì?

Toán tử tiền tố (++a) và hậu tố (a++)

++a trả về giá trị của a sau khi đã tăng lên 1. Đây là toán tử tiền tố vì ++ đứng trước toán hạng.

a++ trả về giá trị của a trước khi tăng. Đây là toán tử hậu tố vì ++ đứng sau toán hạng.

Ví dụ minh họa

Chạy đoạn mã sau để thấy rõ sự khác biệt:

<!DOCTYPE html>
<html>
<body>
  <script>
    var a = 10;
    var b = 20;

    // Tiền tố
    a = ++a;
    document.write("++a = " + a + "<br>");

    // Hậu tố
    b = b++;
    document.write("b++ = " + b);
  </script>
</body>
</html>

Giải thích kết quả

  • ++a: a trở thành 11, biểu thức trả về 11.
  • b++: biểu thức trả về giá trị cũ (20), sau đó b mới trở thành 21. Do gán b = b++, b vẫn giữ giá trị 20.

Lưu ý: Trong thực tế, tránh dùng b = b++ vì gây nhầm lẫn. Chỉ dùng a++ hoặc ++a độc lập trong câu lệnh.