Skip to content
This page is a draft. It may be incomplete or contain inaccuracies. If you have any comment, please feel free to leave some feedback!

รู้จักกับ Boolean

ในตอนนี้เราจะมาทำความรู้จักกับ data type ชนิดต่อไป ที่มีชื่อว่า “Boolean” ครับ

Boolean คืออะไร

  • Boolean คือ data type ที่มีค่าเพียง 2 ค่า คือ true และ false เท่านั้น โดยที่ “true” แปลว่า “จริง” ส่วน “false” แปลว่า “เท็จ”

    
                
              true
                
                
              true
    
                
              false
                
                
              false
  • ถ้าเทียบข้อมูลชนิด string เหมือนกล่องข้อความ ข้อมูลชนิด number เหมือนสไลเดอร์ ข้อมูลชนิด boolean ก็อาจจะเปรียบเหมือนกับสวิตช์ครับ

    ชนิดข้อมูลอินพุตค่า
    string"hello"
    number42
    booleanfalse

    ลองเล่นดู

    ลองเล่นกับอินพุตข้างบนดู แล้วสังเกตค่าที่เปลี่ยนแปลง

ตัวดำเนินการเปรียบเทียบ (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 > btruea (5) มากกว่า b (3) → จริง
    a < bfalsea (5) น้อยกว่า b (3) → เท็จ
    a >= btruea (5) มากกว่าหรือเท่ากับ b (3) → จริง
    a <= bfalsea (5) น้อยกว่าหรือเท่ากับ b (3) → เท็จ
    a == bfalsea (5) เท่ากับ b (3) → เท็จ
    a != btruea (5) ไม่เท่ากับ b (3) → จริง
  • ถ้าทั้งสองฝั่งเป็น string ก็จะเปรียบเทียบตามลำดับของตัวอักษร

    
                
              "apple" < "banana"
                
                
              true
    ตัว a (ในคำว่า apple) มาก่อนตัว b (ในคำว่า banana) จึงได้คำตอบเป็น true

    โดยในคอมพิวเตอร์ ตัวอักษรแต่ละตัว มีเลขประจำตัวของมันอยู่

    ตัวอักษรหมายเลขประจำตัวอักษร
    (charCode)
    149
    A65
    a97
    3585

    แปลว่าตัวอักษรพิมพ์ใหญ่ จะถือว่า “มีค่าน้อยกว่า” ตัวอักษรพิมพ์เล็ก

    
                
              "apple" < "Banana"
                
                
              false
    ตัว a มีหมายเลข 97 ส่วนตัว B เป็นหมายเลข 66
    เนื่องจาก 97 ไม่ได้น้อยกว่า 66 จึงได้คำตอบเป็น false

    กรณีที่ตัวอักษรตัวแรกเหมือนกัน จะเปรียบเทียบตัวอักษรตัวที่สอง และถ้ายังเหมือนกันอีก ก็เปรียบเทียบตัวอักษรตัวที่สาม และต่อ ไป

    
                
              "apple" < "apricot"
                
                
              true

    ลองเล่นดู:

    ab
    ข้อความ
    charCode97, 112, 112, 108, 10197, 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 → ไม่ลดราคา