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

Tại sao nên tránh dùng ++, -- trong JavaScript?

Vấn đề tiềm ẩn

Toán tử tăng/giảm (++, --) có thể gây kết quả bất ngờ do thứ tự đánh giá phức tạp, đặc biệt khi kết hợp trong biểu thức hoặc gán.

Ví dụ gây nhầm lẫn

<!DOCTYPE html>
<html>
<body>
  <script>
    var a = 5;
    var b = ++a; // a=6, b=6
    var c = a++; // c=6, a=7
    var d = ++c; // c=7, d=7
    document.write("a=" + a + "<br>"); // 7
    document.write("b=" + b + "<br>"); // 6
    document.write("c=" + c + "<br>"); // 7
    document.write("d=" + d);           // 7
  </script>
</body>
</html>

Vấn đề khoảng trắng

a = b = c = 1;
++a;  // tiền tố
b--;  // hậu tố
c;    // không thay đổi

Khoảng trắng giữa toán tử và biến có thể dẫn đến hiểu nhầm khi đọc code.

Khuyến nghị

  • Dùng a = a + 1 hoặc a += 1 rõ ràng hơn.
  • Tách câu lệnh tăng/giảm riêng, không nhúng trong biểu thức phức tạp.
  • Các linter (ESLint) thường cảnh báo về việc này (rule no-plusplus).