รู้จักกับ Boolean
ในตอนนี้เราจะมาทำความรู้จักกับ data type ชนิดต่อไป ที่มีชื่อว่า “Boolean” ครับ
Boolean คืออะไร
Boolean คือ data type ที่มีค่าเพียง 2 ค่า คือ
true
และfalse
เท่านั้น โดยที่ “true” แปลว่า “จริง” ส่วน “false” แปลว่า “เท็จ”true
true
false
false
ถ้าเทียบข้อมูลชนิด string เหมือนกล่องข้อความ ข้อมูลชนิด number เหมือนสไลเดอร์ ข้อมูลชนิด boolean ก็อาจจะเปรียบเหมือนกับสวิตช์ครับ
ชนิดข้อมูล อินพุต ค่า string "hello"
number 42
boolean false
ลองเล่นดู
ลองเล่นกับอินพุตข้างบนดู แล้วสังเกตค่าที่เปลี่ยนแปลง
ตัวดำเนินการเปรียบเทียบ (Comparison operators)
สมมติเรามีตัวเลข ที่เก็บไว้ในตัวแปร
a
กับb
เราสามารถเอาข้อมูลที่เป็นตัวเลขมาเทียบกันด้วย operator พวกนี้ได้ตัวดำเนินการ ความหมาย ชื่อภาษาอังกฤษ >
มากกว่า Greater than <
น้อยกว่า Less than >=
มากกว่าหรือเท่ากับ Greater than or equal <=
น้อยกว่าหรือเท่ากับ Less than or equal ==
เท่ากับ Equality !=
ไม่เท่ากับ Inequality ตัวอย่าง
ตัวแปร ค่า a 5
b 3
let a = 5; let b = 3;
Expression ผลลัพธ์ ความหมาย a > b
true
a (5) มากกว่า b (3) → จริง a < b
false
a (5) น้อยกว่า b (3) → เท็จ a >= b
true
a (5) มากกว่าหรือเท่ากับ b (3) → จริง a <= b
false
a (5) น้อยกว่าหรือเท่ากับ b (3) → เท็จ a == b
false
a (5) เท่ากับ b (3) → เท็จ a != b
true
a (5) ไม่เท่ากับ b (3) → จริง ถ้าทั้งสองฝั่งเป็น string ก็จะเปรียบเทียบตามลำดับของตัวอักษร
โดยในคอมพิวเตอร์ ตัวอักษรแต่ละตัว มีเลขประจำตัวของมันอยู่
ตัวอักษร หมายเลขประจำตัวอักษร
(charCode)1 49 A 65 a 97 ก 3585 แปลว่าตัวอักษรพิมพ์ใหญ่ จะถือว่า “มีค่าน้อยกว่า” ตัวอักษรพิมพ์เล็ก
กรณีที่ตัวอักษรตัวแรกเหมือนกัน จะเปรียบเทียบตัวอักษรตัวที่สอง และถ้ายังเหมือนกันอีก ก็เปรียบเทียบตัวอักษรตัวที่สาม และต่อๆ ไป
"apple" < "apricot"
true
ลองเล่นดู:
a b ข้อความ charCode 97, 112, 112, 108, 101 97, 112, 114, 105, 99, 111, 116 ผลการเทียบ a < b นอกจาก
==
กับ!=
ยังมี===
กับ!==
หน้าที่คล้ายๆ กัน แต่แตกต่างกันตรงที่===
กับ!==
จะไม่มีการแปลงชนิดข้อมูลให้ตัวดำเนินการ ความหมาย ==
เท่ากับ (แปลงชนิดข้อมูลให้ กรณีที่สองข้างเป็นข้อมูลคนละชนิด) !=
ไม่เท่ากับ (แปลงชนิดข้อมูลให้ กรณีที่สองข้างเป็นข้อมูลคนละชนิด) ===
เท่ากับ (ไม่แปลงชนิดข้อมูลให้) !==
ไม่เท่ากับ (ไม่แปลงชนิดข้อมูลให้) ตัวอย่างเช่น เวลาใช้
==
แล้วฝั่งนึงเป็น string และอีกฝั่งเป็น number ฝั่งที่เป็น string จะถูกแปลงเป็น number ก่อน"42" == 42
true
แต่ถ้าใช้
===
จะถือว่าข้อมูลทั้งสองฝั่งไม่เท่ากัน ถ้าหากเป็นข้อมูลชนิดต่างกัน"42" === 42
false
หน้าที่ของ Boolean
เราใช้ข้อมูลชนิด Boolean เพื่อให้คอมพิวเตอร์เลือกว่าจะทำอะไรต่อไป
ตัวอย่างเช่น ถ้าเราเขียนโปรแกรมเกี่ยวกับร้านค้าออนไลน์ แล้วต้องการกำหนดโปรโมชั่น เช่น ซื้อ 200 บาท ได้ลด 20 บาท ก็อาจจะเขียนเป็นเงื่อนไขแบบนี้
ยอดเงินที่ซื้อ ≥ 200 บาท?
- true → ลดราคา 20 บาท
- false → ไม่ลดราคา