ตัวดำเนินการ (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. ผลลัพธ์ของ `10 % 3` คืออะไร?
2. ผลลัพธ์ของ `5 == '5'` คืออะไร?
3. ผลลัพธ์ของ `5 > 3 && 2 < 1` คืออะไร?
กำลังโหลด…