JavaScript การเปรียบเทียบ

การเปรียบเทียบและสัญญาณปฏิบัติการโหลดใช้เพื่อทดสอบ 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) ? "เยาว์เกินไป" : "เพียงพอสำหรับการเลือกตั้ง";
} 

ลองเทสต์ด้วยตัวเอง