ตัวดำเนินการทางตรรกศาสตร์/JavaScript

#พื้นฐานการเขียนเว็ปไซต์

#javascrip

#ตัวดำเนินการทางตรรกศาสตร์

ตัวดำเนินการทางตรรกศาสตร์ (Logical Operators) ใน JavaScript ใช้ประเมินค่าตรรกะ (Boolean: true หรือ false) หรือเพื่อควบคุมการทำงานตามเงื่อนไข พวกมันทำงานบนหลักการที่เรียกว่า Short-Circuit Evaluation ซึ่งหมายความว่ามันอาจจะหยุดประเมินโอเปอแรนด์ (Operand) ที่เหลือทันทีที่ทราบผลลัพธ์สุดท้าย

มีตัวดำเนินการหลัก 3 ตัว:

1. ∣∣ (OR: หรือ)

ตัวดำเนินการ OR ใช้ตรวจสอบว่ามีเงื่อนไขใดเป็นจริงหรือไม่

ตารางความจริง: จะคืนค่า true หากมีโอเปอแรนด์ตัวใดตัวหนึ่งหรือทั้งสองเป็น true

การทำงานแบบ Short-Circuit:

มันจะประเมินโอเปอแรนด์จากซ้ายไปขวา

ทันทีที่เจอโอเปอแรนด์ตัวแรกที่เป็น Truthy (ถือว่าเป็น true) มันจะคืนค่าของโอเปอแรนด์ตัวนั้นและหยุดการประเมิน

ถ้าโอเปอแรนด์ทั้งหมดเป็น Falsy (ถือว่าเป็น false) มันจะคืนค่าของโอเปอแรนด์ตัวสุดท้าย

ตัวอย่าง ผลลัพธ์ เหตุผล

`true false`

`0 5`

`"" null`

ประโยชน์ทั่วไป: ใช้ในการกำหนด ค่าเริ่มต้น (Default Value) หากค่าแรกเป็น null หรือ undefined

JavaScript

let userName = userSetting || 'Guest';

// ถ้า userSetting เป็น null/undefined/""/0 จะตั้ง userName เป็น 'Guest'

2. && (AND: และ)

ตัวดำเนินการ AND ใช้ตรวจสอบว่าเงื่อนไขทั้งหมดเป็นจริงหรือไม่

ตารางความจริง: จะคืนค่า true ก็ต่อเมื่อโอเปอแรนด์ทั้งสองด้านเป็น true เท่านั้น

การทำงานแบบ Short-Circuit:

มันจะประเมินโอเปอแรนด์จากซ้ายไปขวา

ทันทีที่เจอโอเปอแรนด์ตัวแรกที่เป็น Falsy (ถือว่าเป็น false) มันจะคืนค่าของโอเปอแรนด์ตัวนั้นและหยุดการประเมิน

ถ้าโอเปอแรนด์ทั้งหมดเป็น Truthy มันจะคืนค่าของโอเปอแรนด์ตัวสุดท้าย

ตัวอย่าง ผลลัพธ์ เหตุผล

true && false false ตัวแรกเป็น true แต่ตัวที่สองเป็น false จึงคืนค่า false (ตัวที่สอง)

5 && "Hello" "Hello" ทั้งคู่เป็น Truthy คืนค่าตัวสุดท้าย

0 && "World" 0 0 เป็น Falsy คืนค่า 0 ทันที

ประโยชน์ทั่วไป: ใช้ในการทำ Conditional Rendering หรือเรียกฟังก์ชันแบบมีเงื่อนไข (ใช้แทนโครงสร้าง if แบบสั้น)

JavaScript

// ถ้า isLogged เป็น true, ให้เรียกฟังก์ชัน showProfile

isLogged && showProfile();

3. ! (NOT: ไม่)

ตัวดำเนินการ NOT ใช้เพื่อกลับค่าตรรกะ

การทำงาน: มันจะแปลงโอเปอแรนด์ให้เป็นค่าตรรกะ (Boolean) แล้วกลับค่า

!true ได้ false

!false ได้ true

ตัวอย่าง ผลลัพธ์ เหตุผล

!true false กลับค่า

!0 true 0 เป็น Falsy ถูกแปลงเป็น false แล้วกลับเป็น true

!!"Hello" true ! แรกแปลง "Hello" (Truthy) เป็น false และ ! ที่สองกลับเป็น true

ส่งออกไปยังชีต

ประโยชน์ทั่วไป: ใช้ในการตรวจสอบว่าค่าหนึ่งเป็น Falsy หรือ Truthy (การใช้ !! เพื่อแปลงค่าใด ๆ ให้เป็น Boolean แท้ๆ)

ค่า Falsy และ Truthy ใน JavaScript

ในการประเมินค่าตรรกะ JavaScript จะถือว่าค่าต่อไปนี้เป็น Falsy (เทียบเท่ากับ false):

false

0 (เลขศูนย์)

"" (สตริงว่าง)

null

undefined

NaN (Not-a-Number)

Truthy คือค่าอื่น ๆ ทั้งหมดที่ไม่ได้อยู่ในรายการ Falsy (เช่น 1, "hello", [], {})

2025/10/7 แก้ไขเป็น

... อ่านเพิ่มเติมในบทความนี้เราจะเพิ่มเติมความเข้าใจเกี่ยวกับตัวดำเนินการทางตรรกศาสตร์ (Logical Operators) ใน JavaScript ที่แม้จะเป็นเรื่องพื้นฐานแต่ก็สำคัญมากในการเขียนโปรแกรมที่มีเงื่อนไขซับซ้อน นอกจากนี้ยังมีประเด็นที่หลายคนอาจสงสัยเกี่ยวกับข้อมูลชนิดข้อความ (string) กับการใช้งานตัวดำเนินการเหล่านี้ สิ่งที่อยากแชร์ก็คือการทำงานของตัวดำเนินการ OR (||) และ AND (&&) นอกจากจะช่วยให้เรากำหนดค่าตัวแปรเริ่มต้นได้แบบรวบรัดแล้ว ยังช่วยในกรณีของ Conditional Rendering หรือการเลือกทำงานในบางสถานการณ์อย่างมีประสิทธิภาพ เช่น ถ้ามีค่าของตัวแปรเป็น null หรือ undefined เราสามารถใช้ || กำหนดค่าเป็นค่า default ได้โดยไม่ต้องเขียนโค้ดยาวๆ ส่วนตัวดำเนินการ NOT (!) ก็มีประโยชน์มากในการตรวจสอบว่าค่าตัวไหนเป็น Falsy หรือ Truthy จึงช่วยลดความซับซ้อนในการเขียนเงื่อนไขและทำให้โค้ดอ่านง่ายขึ้นอย่างมาก นอกจากนี้ การเข้าใจเรื่อง Short-Circuit Evaluation ก็สำคัญไม่น้อย เพราะช่วยให้โค้ดที่เราเขียนทำงานได้รวดเร็วและไม่ต้องเสียเวลาในการตรวจสอบเงื่อนไขที่ไม่จำเป็น ในการใช้งานจริง ตัวอย่างเช่น การตรวจสอบสภาวะการล็อกอินผู้ใช้ ถ้าตัวแปร isLogged เป็น true ก็เพียงพอให้เรียกฟังก์ชันแสดงข้อมูลโปรไฟล์ได้ทันที โดยไม่ต้องใช้ if ซ้อนหลายชั้น ซึ่งช่วยให้โค้ดดูสะอาดและเข้าใจง่ายมากขึ้น สำหรับการประเมินค่าตรรกะใน JavaScript นั้น เราควรจดจำค่าที่ถูกมองว่าเป็น Falsy ซึ่งรวมถึง false, 0, "" (สตริงว่าง), null, undefined และ NaN ส่วนค่าที่เหลือจะถือเป็น Truthy ทั้งหมด ซึ่งความรู้ตรงนี้จะช่วยให้เราเขียนเงื่อนไขต่างๆ ได้อย่างถูกต้องและลดข้อผิดพลาด แนะนำว่าควรลองนำตัวดำเนินการเหล่านี้ไปใช้ในโปรเจกต์เล็กๆ หรือในโค้ดที่เขียนเองดู เพื่อเรียนรู้และเข้าใจพฤติกรรมของมันอย่างแท้จริง เพราะประสบการณ์ตรงจะช่วยให้เราเข้าใจแนวคิดและการนำไปใช้ได้ดีกว่าการอ่านอย่างเดียวแน่นอน

6 ความคิดเห็น

รูปภาพของ ไกด์ภราดร Paradonna Travel
ไกด์ภราดร Paradonna Travel

🥰

ดูเพิ่มเติม(4)
รูปภาพของ ขีดเขียน
ขีดเขียนผู้สร้าง

🥰🥰😍😍😍