Toán tử ++ có thể sử dụng dưới dạng tiền tố (++i) hoặc hậu tố (i++). Sự khác biệt giữa hai toán tử có thể ảnh hưởng tới giá trị của biến trong một biểu thức.
Ví dụ:
// Hậu tố
let i = 1;
i++; // 1 (trả về giá trị trước khi tăng)
console.log(i); // 2
// Tiền tố
let j = 1;
++j; // 2 (trả về giá trị sau khi tăng)
console.log(j); // 21. Toán tử ++
1.1 Toán tử i++ (Post-increment)
Trả về giá trị hiện tại của i, sau đó mới tăng giá trị lên 1.
let i = 5;
console.log(i++); // 5
console.log(i); // 6
1.2 Toán tử ++i (Pre-increment)
Tăng giá trị của i lên 1, sau đó trả về giá trị mới.
let i = 5;
console.log(++i); // 6
console.log(i); // 6Toán tử
--có cách hoạt động tương tự. Điểm khác biệt là toán tử--trừ đi 1, trong khi++là cộng thêm 1.
2. Sự khác biệt chính
- Thời điểm cập nhật giá trị:
i++cập nhật giá trị sau khi biểu thức được đánh giá, trong khi++icập nhật trước. - Giá trị sử dụng trong biểu thức: Với
i++, giá trị ban đầu của i được sử dụng; với++i, giá trị mới sau khi tăng được sử dụng.
3. Tóm tắt
- Toán tử
++và--: Cả hai toán tử này đều có thể được sử dụng dưới dạng tiền tố hoặc hậu tố, quyết định thời điểm cập nhật giá trị của biến.- Toán tử i++ (Hậu tố): Trả về giá trị trước khi tăng hoặc giảm. Giá trị của biến được cập nhật sau khi biểu thức được đánh giá.
- Toán tử ++i (Tiền tố): Trả về giá trị sau khi tăng hoặc giảm. Giá trị của biến được cập nhật trước khi biểu thức được đánh giá.
- Sự khác biệt chính: Thời điểm cập nhật giá trị và giá trị sử dụng trong biểu thức.
i++cập nhật giá trị sau khi biểu thức được đánh giá, sử dụng giá trị ban đầu;++icập nhật trước, sử dụng giá trị mới sau khi tăng.