Toán tử decrement (--) giảm giá trị integer xuống 1. Ví dụ giảm a hai lần bằng --:
Ví dụ
<html>
<body>
<script>
var a = 33;
a = --a; // pre-decrement: a = 32, trả về 32
document.write("--a = ");
result = --a; // pre-decrement: a = 31, trả về 31
document.write(result);
</script>
</body>
</html>
Pre-decrement (--x) vs Post-decrement (x--)
| Toán tử | Tên | Hành động | Giá trị expression |
|---|---|---|---|
--x | Pre-decrement | Giảm x rồi trả về x mới | Giá trị sau khi giảm |
x-- | Post-decrement | Trả về x cũ rồi giảm x | Giá trị trước khi giảm |
Ví dụ so sánh
let x = 5;
console.log(--x); // 4 (x giờ là 4)
console.log(x); // 4
let y = 5;
console.log(y--); // 5 (y giờ là 4)
console.log(y); // 4
Lưu ý (giống ++)
- Side effect trong expression → khó debug.
- Tránh dùng trong biểu thức phức tạp.
- Dùng
x -= 1hoặcx = x - 1cho rõ ràng. - Dùng standalone statement hoặc trong
forloop thì OK.