⏱️ ~10 นาที

ตัวดำเนินการ (Operators)

การคำนวณ เปรียบเทียบ และเชื่อมต่อค่าใน JavaScript

ตัวดำเนินการคืออะไร?

ตัวดำเนินการ (operator) คือสัญลักษณ์ที่ใช้ กระทำ กับค่า เช่น + (บวก), - (ลบ), > (มากกว่า)

1. ตัวดำเนินการคณิตศาสตร์ (Arithmetic)

console.log(7 + 3);   // 10  บวก
console.log(7 - 3);   // 4   ลบ
console.log(7 * 3);   // 21  คูณ
console.log(7 / 2);   // 3.5 หาร
console.log(7 % 3);   // 1   หารเอาเศษ (modulo)
console.log(2 ** 3);  // 8   ยกกำลัง

💡 % (modulo) ใช้บ่อยมาก เช่น เช็คเลขคู่/คี่: number % 2 === 0 แปลว่าคู่

2. การกำหนดค่าแบบย่อ

let score = 10;
score += 5;   // เท่ากับ score = score + 5  → 15
score -= 3;   // เท่ากับ score = score - 3  → 12
score *= 2;   // เท่ากับ score = score * 2  → 24
score /= 4;   // เท่ากับ score = score / 4  → 6

เพิ่ม/ลดทีละ 1

let count = 0;
count++;      // เพิ่ม 1 → 1
count++;      // 2
count--;      // ลด 1 → 1

3. ตัวดำเนินการเปรียบเทียบ

ให้ผลลัพธ์เป็น boolean (true / false):

console.log(5 > 3);      // true   มากกว่า
console.log(5 < 3);      // false  น้อยกว่า
console.log(5 >= 5);     // true   มากกว่าหรือเท่ากับ
console.log(5 <= 4);     // false  น้อยกว่าหรือเท่ากับ

เท่ากับ: ระวัง == กับ ===

console.log(5 == "5");    // true  (แปลงชนิดแล้วเท่ากัน)
console.log(5 === "5");   // false (ทั้งค่าและชนิดต้องเหมือนกัน)

⚠️ แนะนำให้ใช้ === เสมอ เพราะปลอดภัยกว่า ไม่มีการแปลงชนิดแบบไม่คาดฝัน ใช้ !== (ไม่เท่ากับ แบบเข้มงวด) แทน != ด้วย

4. ตัวดำเนินการตรรกะ (Logical)

ใช้เชื่อมเงื่อนไขหลายอัน:

ตัวชื่อเป็นจริงเมื่อ
&&ANDทั้งสองข้างจริง
||ORอย่างน้อยข้างจริง
!NOTกลับค่าจริง/เท็จ
let age = 20;
let hasID = true;

console.log(age >= 18 && hasID);   // true (เข้าผ่าน)
console.log(age >= 18 && !hasID);  // false (ไม่มีบัตร)

let isVip = false;
console.log(age >= 18 || isVip);   // true (อายุผ่าน)

5. การต่อข้อความ (String concatenation)

ใช้ + ต่อ string:

let firstName = "สม";
let lastName = "ชาย";
console.log(firstName + " " + lastName);   // "สม ชาย"

วิธีที่สะอาดกว่าคือ template literal (เครื่องหมาย backtick `):

let name = "สมชาย";
let age = 25;
console.log(`ฉันชื่อ ${name} อายุ ${age} ปี`);

ลำดับการคำนวณ

เหมือนคณิตศาสตร์: * และ / ก่อน + และ - ใช้ () เพื่อบังคับลำดับ:

console.log(2 + 3 * 4);     // 14  (คูณก่อน)
console.log((2 + 3) * 4);   // 20  (วงเล็บก่อน)

ลองทำจริง

let price = 100;
let discount = 20;
let quantity = 3;

let total = (price - discount) * quantity;
console.log(`รวม: ${total} บาท`);   // รวม: 240 บาท

// เช็คว่ามีส่วนลดไหม
let hasDiscount = discount > 0;
console.log(hasDiscount);            // true

สรุป

กลุ่มตัวอย่าง
คณิตศาสตร์+ - * / % **
กำหนดค่า= += -= *= /=
เปรียบเทียบ> < >= <= === !==
ตรรกะ&& || !
ต่อข้อความ+ หรือ `${}`

บทหน้า: ใช้ตัวดำเนินการเหล่านี้ในการ ตัดสินใจ ด้วย if/else 🔀

อ่านจบแล้ว? ทำเครื่องหมายว่าเสร็จเพื่อบันทึกความคืบหน้า

🧠

แบบทดสอบ

ตอบให้ครบแล้วกด “ตรวจคำตอบ” เพื่อเช็คความเข้าใจ

  1. 1. ผลลัพธ์ของ `10 % 3` คืออะไร?

  2. 2. ผลลัพธ์ของ `5 == '5'` คืออะไร?

  3. 3. ผลลัพธ์ของ `5 > 3 && 2 < 1` คืออะไร?

กำลังโหลด…