JavaScript การเปรียบเทียบ
- หน้าก่อน JS ตรรกศาสตร์
- หน้าต่อไป JS เงื่อนไข
การเปรียบเทียบและสัญญาณปฏิบัติการโหลดใช้เพื่อทดสอบ true
หรือ false
。
สัญญาณปฏิบัติการเปรียบเทียบ
สัญญาณปฏิบัติการเปรียบเทียบใช้ในประโยควิชาการเพื่อตัดสินว่าตัวแปรหรือค่าเท่ากันหรือไม่
เรากำหนด x = 5 ตารางด้านล่างเปิดเผยการทำงานของสัญญาณปฏิบัติการเปรียบเทียบ
ประกาศ | คำอธิบาย | เปรียบเทียบ | คืนค่า | การทดสอบ |
---|---|---|---|---|
== | เท่า | x == 8 | false | ลองเทสต์ด้วยตัวเอง |
x == 5 | true | ลองเทสต์ด้วยตัวเอง | ||
x == "5" | true | ลองเทสต์ด้วยตัวเอง | ||
=== | ค่าเท่ากันและชนิดเท่ากัน | x === 5 | true | ลองเทสต์ด้วยตัวเอง |
x === "5" | false | ลองเทสต์ด้วยตัวเอง | ||
!= | ไม่เท่ากัน | x != 8 | true | ลองเทสต์ด้วยตัวเอง |
!== | ค่าไม่เท่ากันหรือชนิดไม่เท่ากัน | x !== 5 | false | ลองเทสต์ด้วยตัวเอง |
x !== "5" | true | ลองเทสต์ด้วยตัวเอง | ||
x !== 8 | true | ลองเทสต์ด้วยตัวเอง | ||
> | > | มากกว่า | false | ลองเทสต์ด้วยตัวเอง |
< | ต่ำกว่า | x < 8 | true | ลองเทสต์ด้วยตัวเอง |
>= | มากกว่าหรือเท่า | x >= 8 | false | ลองเทสต์ด้วยตัวเอง |
<= | ต่ำกว่าหรือเท่า | x <= 8 | true | ลองเทสต์ด้วยตัวเอง |
วิธีใช้
ประกาศการเปรียบเทียบสามารถใช้ในการประกาศเงื่อนไขเพื่อเปรียบเทียบค่า และตัดสินว่าจะทำอะไรตามผลลัพธ์
if (age < 18) text = "เยาว์เกินไป";
ในบทวิชาต่อไปของคู่มือนี้ คุณจะได้เรียนรู้เกี่ยวกับข้อความเงื่อนไขมากยิ่งขึ้น
สัญญาณปฏิบัติการโหลด
สัญญาณปฏิบัติการโหลดใช้เพื่อตัดสินว่าตัวแปรหรือค่ามีความเกี่ยวข้องทางวิชาการ
เรากำหนด x = 6 และ y = 3 ตารางด้านล่างเปิดเผยการทำงานของสัญญาณปฏิบัติการโหลด
ประกาศ | คำอธิบาย | ตัวอย่าง | การทดสอบ |
---|---|---|---|
&& | และ | (x < 10 && y > 1) จะเป็น true | ลองเทสต์ด้วยตัวเอง |
|| | หรือ | (x == 5 || y == 5) จะเป็น false | ลองเทสต์ด้วยตัวเอง |
! | ไม่ | !(x == y) จะเป็น true | ลองเทสต์ด้วยตัวเอง |
สัญญาณปฏิบัติการเงื่อนไข (เทรมินัล)
JavaScript มีการประกอบด้วยสัญญาณปฏิบัติการเงื่อนไขที่สามารถใช้เพื่อจัดการค่าตัวแปรบนพื้นฐานของเงื่อนไขบางอย่าง
การเขียน
variablename = (condition) ? value1:value2
ตัวอย่าง
var voteable = (age < 18) ? "เยาว์เกินไป":"เข้าสู่วัยเพียงพอ";
ถ้าค่าของตัวแปร age ต่ำกว่า 18 ตัวแปร voteable จะมีค่า "เยาว์เกินไป" ไม่ว่า ถ้าค่าของตัวแปร age ไม่ต่ำกว่า 18 ตัวแปร voteable จะมีค่า "เข้าสู่วัยเพียงพอ"
การเปรียบเทียบชนิดต่างกัน
การเปรียบเทียบข้อมูลของชนิดต่างกันอาจก่อให้เกิดผลที่ไม่คาดคิด
ถ้าเปรียบเทียบตัวเลขกับข้อความ จากการเปรียบเทียบ JavaScript จะแปลงข้อความเป็นตัวเลข ข้อความว่างจะถูกแปลงเป็น 0 ข้อความที่ไม่เป็นตัวเลขจะถูกแปลงเป็นเลขที่เป็น 0 ตลอดเวลา false
ของ NaN
。
กรณี | ค่า | การทดสอบ |
---|---|---|
2 < 12 | true | ลองเทสต์ด้วยตัวเอง |
2 < "12" | true | ลองเทสต์ด้วยตัวเอง |
2 < "Bill" | false | ลองเทสต์ด้วยตัวเอง |
2 > "Bill" | false | ลองเทสต์ด้วยตัวเอง |
2 == "Bill" | false | ลองเทสต์ด้วยตัวเอง |
"2" < "12" | false | ลองเทสต์ด้วยตัวเอง |
"2" > "12" | true | ลองเทสต์ด้วยตัวเอง |
"2" == "12" | false | ลองเทสต์ด้วยตัวเอง |
เมื่อเปรียบเทียบสองข้อความ "2" มากกว่า "12" ตามลำดับของอักษร (1 น้อยกว่า 2)。
เพื่อให้ผลลัพธ์ที่ถูกต้อง ควรเปลี่ยนรูปแบบตัวแปรก่อนที่จะเปรียบเทียบค่า:
age = Number(age); if (isNaN(age)) { voteable = "ข้อมูลที่ใส่ผิด"; } voteable = (age < 18) ? "เยาว์เกินไป" : "เพียงพอสำหรับการเลือกตั้ง"; }
- หน้าก่อน JS ตรรกศาสตร์
- หน้าต่อไป JS เงื่อนไข