Programming Track
JavaScript
Operators
Increment / Decrement
เรียนรู้ ++ และ -- สำหรับเพิ่ม/ลดค่า 1 ขั้น พร้อมเข้าใจความต่างระหว่าง pre-increment (++x) และ post-increment (x++)
Increment และ Decrement คืออะไร
++ (increment) เพิ่มค่าตัวแปรขึ้น 1 และ -- (decrement) ลดค่าลง 1 ใช้บ่อยใน loop และตัวนับ มีสองรูปแบบ: วางหน้า (prefix) หรือหลัง (postfix) ซึ่งให้ค่า expression ต่างกัน
| Operator | ชื่อ | ทำอะไร | ตัวอย่าง |
|---|---|---|---|
| ++x | Pre-increment | เพิ่มก่อน แล้วคืนค่าใหม่ | ++x → x+1 ทันที |
| x++ | Post-increment | คืนค่าเดิมก่อน แล้วค่อยเพิ่ม | x++ → x เดิม แล้วค่อยบวก |
| --x | Pre-decrement | ลดก่อน แล้วคืนค่าใหม่ | --x → x-1 ทันที |
| x-- | Post-decrement | คืนค่าเดิมก่อน แล้วค่อยลด | x-- → x เดิม แล้วค่อยลบ |
Pre vs Post — ต่างกันอย่างไร
ถ้าใช้ ++ หรือ -- เพียงอย่างเดียว (ไม่นำค่า expression ไปใช้) pre กับ post ให้ผลเหมือนกัน ความแตกต่างปรากฏเมื่อนำค่า expression นั้นไปใช้ต่อ เช่น กำหนดค่าหรือส่งเป็น argument
pre vs post — ความแตกต่างJS
let a = 5;
let b = 5;
let x = ++a; // a เพิ่มก่อน → a = 6, x = 6
let y = b++; // b คืนค่าเดิมก่อน → y = 5, b = 6 (หลังบรรทัดนี้)
console.log(a, x); // 6 6
console.log(b, y); // 6 5ใช้งานจริง — ตัวนับ
ตัวนับและการใช้ใน loopJS
กรณีที่ใช้บ่อยที่สุดคือตัวนับธรรมดา
let count = 0;
count++; // 1
count++; // 2
count--; // 1
console.log(count); // 1สรุป
- ++ เพิ่มค่า 1, -- ลดค่า 1
- Pre (++x) คืนค่าใหม่ทันที, Post (x++) คืนค่าเดิมก่อนแล้วค่อยเปลี่ยน
- ใช้ ++ หรือ -- เพียงอย่างเดียวก็พอ (เช่น count++ หรือ ++count)
- นิยมใช้ post (x++) ในงานทั่วไป ใช้ pre เมื่อต้องการค่าใหม่ทันที