Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Modulus Operator (%) ใน JavaScript คืออะไร? ตัวอย่างการใช้งาน

Modulus Operator (%) ใน JavaScript

ตัวดำเนินการ modulus (%) ใช้สำหรับหา เศษ (Remainder) จากการหารจำนวนเต็ม (Integer Division) ของ Operand สองตัว

รูปแบบไวยากรณ์ (Syntax)

result = dividend % divisor;

ตัวอย่างโค้ด

<html>
  <body>
    <script>
      var a = 33;
      var b = 10;
      document.write("a % b = ");
      result = a % b;
      document.write(result);  // แสดงผล: 3
    </script>
  </body>
</html>

หลักการทำงาน

  • a % b คืนค่าเศษจากการหาร a / b
  • เครื่องหมายของผลลัพธ์ จะตรงกับ Dividend (ตัวถูกหาร) ไม่ใช่ Divisor (ตัวหาร)

ตัวอย่างเพิ่มเติม

console.log(10 % 3);    // 1  (10 = 3*3 + 1)
console.log(15 % 5);    // 0  (หารลงตัว)
console.log(7 % 2);     // 1  (คี่)
console.log(10 % 4);    // 2
console.log(-10 % 3);   // -1 (เครื่องหมายตาม Dividend)
console.log(10 % -3);   // 1  (เครื่องหมายตาม Dividend)
console.log(5.5 % 2);   // 1.5 (รองรับทศนิยม)
console.log(10 % 0);    // NaN (หารศูนย์ไม่ได้)

การประยุกต์ใช้งานจริง

  1. ตรวจสอบเลขคู่/คี่: num % 2 === 0 (Even), num % 2 !== 0 (Odd)
  2. วนซ้ำแบบ Cyclic: index = (index + 1) % length (Carousel, Round-robin)
  3. แปลงหน่วยเวลา: seconds % 60 (วินาที), minutes % 60 (นาที)
  4. ตรวจสอบหารลงตัว: num % divisor === 0
  5. สุ่มตัวเลขในช่วง: Math.floor(Math.random() * max) % max

ข้อควรระวัง

  • JavaScript ใช้ Remainder Operator ไม่ใช่ Modulo Operator แบบคณิตศาสตร์บริสุทธิ์ (ผลลัพธ์เครื่องหมายต่างกันเมื่อ Dividend เป็นลบ)
  • สำหรับ Modulo แบบคณิตศาสตร์แท้: ((a % b) + b) % b