เปรียบเทียบและตรรกะผู้ประกอบการที่ใช้ในการทดสอบ 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 | ลองมัน " | ||
> | มากกว่า | x > 8 | false | ลองมัน " |
< | น้อยกว่า | x < 8 | true | ลองมัน " |
>= | มากกว่าหรือเท่ากับ | x >= 8 | false | ลองมัน " |
<= | น้อยกว่าหรือเท่ากับ | x <= 8 | true | ลองมัน " |
วิธีที่จะสามารถใช้
ดำเนินการเปรียบเทียบสามารถนำมาใช้ในงบเงื่อนไขในการเปรียบเทียบค่าและดำเนินการขึ้นอยู่กับผลที่ได้:
if (age < 18) text = "Too young";
คุณจะเรียนรู้เพิ่มเติมเกี่ยวกับการใช้งบเงื่อนไขในบทต่อไปของการกวดวิชานี้
ดำเนินการทางตรรกะ
ผู้ประกอบการลอจิกจะใช้ในการกำหนดตรรกะระหว่างตัวแปรหรือค่า
ระบุว่า x = 6 และ y = 3 , ตารางด้านล่างอธิบายผู้ประกอบการตรรกะ:
ผู้ประกอบการ | ลักษณะ | ตัวอย่าง | ลองมัน |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | ลองมัน " |
|| | or | (x == 5 || y == 5) is false | ลองมัน " |
! | not | !(x == y) is true | ลองมัน " |
เงื่อนไข (Ternary) ผู้ประกอบการ
JavaScript นอกจากนี้ยังมีผู้ประกอบการตามเงื่อนไขที่กำหนดค่าให้กับตัวแปรขึ้นอยู่กับเงื่อนไขบางอย่าง
วากยสัมพันธ์
variablename = ( condition ) ? value1 : value2
ตัวอย่าง
var
voteable = (age < 18) ? "Too young":"Old enough";
ลองตัวเอง» ถ้าอายุตัวแปรเป็นค่าที่ต่ำกว่า 18 ค่าของตัวแปร voteable จะเป็น "หนุ่มเกินไป" มิฉะนั้นค่าของ voteable จะเป็น "เก่าพอ"
เปรียบเทียบประเภทที่แตกต่างกัน
การเปรียบเทียบข้อมูลที่แตกต่างกันอาจจะให้ผลที่ไม่คาดคิด
เมื่อเปรียบเทียบสตริงที่มีจำนวน, JavaScript จะแปลงสตริงเป็นตัวเลขเมื่อทำการเปรียบเทียบ สตริงที่ว่างเปล่าแปลง 0. สตริงที่ไม่ใช่ตัวเลขแปลง NaN ซึ่งมักจะเป็นเท็จ
กรณี | ความคุ้มค่า | ลอง |
---|---|---|
2 < 12 | true | ลองมัน " |
2 < "12" | true | ลองมัน " |
2 < "John" | false | ลองมัน " |
2 > "John" | false | ลองมัน " |
2 == "John" | false | ลองมัน " |
"2" < "12" | false | ลองมัน " |
"2" > "12" | true | ลองมัน " |
"2" == "12" | false | ลองมัน " |
เมื่อเปรียบเทียบสองสตริง, "2" จะสูงกว่า "12" เพราะ (ตามลำดับตัวอักษร) 1 น้อยกว่า 2
เพื่อรักษาความปลอดภัยที่เหมาะสมผลตัวแปรควรถูกแปลงเป็นชนิดที่เหมาะสมก่อนที่จะเปรียบเทียบ:
age = Number(age);
if (isNaN(age)) {
voteable = "Error in input";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
ลองตัวเอง» ผู้ประกอบการ JavaScript Bitwise
ผู้ประกอบการบิตทำงานกับตัวเลข 32 บิต
ถูกดำเนินการใด ๆ ที่เป็นตัวเลขในการดำเนินงานจะถูกแปลงเป็นจำนวน 32 บิต
ผลที่ได้จะถูกแปลงกลับไปเป็นจำนวน JavaScript
ผู้ประกอบการ | ลักษณะ | ตัวอย่าง | เหมือนกับ | ผล | ทศนิยม |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | x = ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | x = 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | x = 5 >> 1 | 0101 >> 1 | 0010 | 2 |
จากตารางข้างต้นการใช้งาน 4 บิตตัวอย่างที่ไม่ได้ลงชื่อ แต่ใช้งาน JavaScript 32 บิตลงนามหมายเลข
ด้วยเหตุนี้ใน JavaScript, ~ 5 จะไม่กลับมา 10 มันจะกลับ -6:
~ 00000000000000000000000000000101 จะกลับ 11111111111111111111111111111010
ทดสอบด้วยตัวเองด้วยการออกกำลังกาย!
การใช้สิทธิ 1 » ออกกำลังกาย 2 » ออกกำลังกาย 3 » 4 การออกกำลังกาย» ออกกำลังกาย 5 » ออกกำลังกาย 6 »