Programming Track
JavaScript
Operators
Logical Operators
เรียนรู้ && (AND), || (OR), ! (NOT) สำหรับรวมและกลับเงื่อนไข พร้อมเข้าใจ short-circuit evaluation และการใช้ || เพื่อกำหนดค่า default
Logical Operator คืออะไร
Logical Operator ใช้รวมหรือกลับเงื่อนไข boolean ช่วยตรวจสอบหลายเงื่อนไขพร้อมกันหรือกลับค่า true/false มีสามตัวหลัก: && (AND), || (OR), ! (NOT)
| Operator | ชื่อ | ความหมาย | ตัวอย่าง |
|---|---|---|---|
| && | AND | true เมื่อทั้งสองฝั่งเป็น true | age >= 18 && hasID |
| || | OR | true เมื่อฝั่งใดฝั่งหนึ่งเป็น true | isAdmin || isMod |
| ! | NOT | กลับค่า — true → false, false → true | !isLoggedIn |
&& AND — ต้องครบทุกเงื่อนไข
ตัวอย่าง && ANDJS
&& คืน true เฉพาะเมื่อทั้งสองฝั่งเป็น true
let age = 20;
let hasID = true;
let canEnter = age >= 18 && hasID; // true && true → true
let strictCheck = age >= 21 && hasID; // false && true → false
console.log(canEnter); // true
console.log(strictCheck); // false|| OR — แค่หนึ่งเงื่อนไขก็พอ
ตัวอย่าง || ORJS
|| คืน true เมื่ออย่างน้อยหนึ่งฝั่งเป็น true
let isAdmin = false;
let isMod = true;
let hasAccess = isAdmin || isMod; // false || true → true
let noAccess = isAdmin || false; // false || false → false
console.log(hasAccess); // true
console.log(noAccess); // false! NOT — กลับค่า boolean
ตัวอย่าง ! NOTJS
! วางหน้าค่า เพื่อกลับ true เป็น false และ false เป็น true
let isLoggedIn = false;
let isGuest = !isLoggedIn; // !false → true
let isOpen = true;
let isClosed = !isOpen; // !true → false
console.log(isGuest); // true
console.log(isClosed); // falseShort-Circuit Evaluation — ประมวลผลลัดวงจร
JavaScript จะหยุดประเมินทันทีที่รู้ผลแล้ว: • && — ถ้าฝั่งซ้ายเป็น false จะไม่ประเมินฝั่งขวา • || — ถ้าฝั่งซ้ายเป็น true จะไม่ประเมินฝั่งขวา ใช้ || เพื่อกำหนดค่า default ได้
Short-circuit กับค่า defaultJS
let username = "";
let displayName = username || "ผู้ใช้ไม่ระบุชื่อ";
console.log(displayName); // "ผู้ใช้ไม่ระบุชื่อ" (username เป็น falsy)
let name = "อาร์ยา";
let greeting = name || "แขก";
console.log(greeting); // "อาร์ยา" (name เป็น truthy)สรุป
- && (AND) — true เฉพาะเมื่อทั้งสองฝั่ง true
- || (OR) — true เมื่ออย่างน้อยหนึ่งฝั่ง true
- ! (NOT) — กลับค่า boolean
- Short-circuit: && หยุดที่ false แรก, || หยุดที่ true แรก
- || ใช้กำหนดค่า default ได้ เช่น value || 'default'