So sánh JavaScript và toán tử logic
Toán tử so sánh và lôgic được sử dụng để kiểm tra true
hoặc
false
.
Toán tử so sánh
Toán tử so sánh được sử dụng trong các câu lệnh logic để xác định sự bình đẳng hoặc khác biệt giữa các biến hoặc giá trị.
Do đó x = 5
, bảng dưới đây giải thích các toán tử so sánh:
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
x == "5" | true | |||
=== | equal value and equal type | x === 5 | true | |
x === "5" | false | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
Làm thế nào có thể sử dụng nó
Các toán tử so sánh có thể được sử dụng trong các câu lệnh điều kiện để so sánh các giá trị và thực hiện hành động tùy thuộc vào kết quả:
if (age < 18) text = "Too young to buy alcohol";
Bạn sẽ tìm hiểu thêm về cách sử dụng câu lệnh điều kiện trong chương tiếp theo của hướng dẫn này.
Toán tử logic
Toán tử logic được sử dụng để xác định logic giữa các biến hoặc giá trị.
Với điều đó x = 6
và y = 3
, bảng dưới đây giải thích các toán tử logic:
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x == 5 || y == 5) is false | |
! | not | !(x == y) is true |
Toán tử có điều kiện (bậc ba)
JavaScript cũng chứa một toán tử điều kiện để gán giá trị cho một biến dựa trên một số điều kiện.
Cú pháp
variablename = (condition) ? value1:value2
Thí dụ
let voteable = (age < 18) ? "Too young":"Old enough";
Nếu độ tuổi của biến là giá trị dưới 18, giá trị của biến có thể hoán đổi sẽ là "Quá trẻ", nếu không giá trị của biến có thể thay đổi sẽ là "Đủ già".
So sánh các loại khác nhau
So sánh dữ liệu của các loại khác nhau có thể cho kết quả không mong đợi.
Khi so sánh một chuỗi với một số, JavaScript sẽ chuyển đổi chuỗi thành một số khi thực hiện so sánh. Một chuỗi rỗng sẽ chuyển đổi thành 0. Một chuỗi không phải số NaN
luôn chuyển đổi thành false
.
Case | Value | Try |
---|---|---|
2 < 12 | true | |
2 < "12" | true | |
2 < "John" | false | |
2 > "John" | false | |
2 == "John" | false | |
"2" < "12" | false | |
"2" > "12" | true | |
"2" == "12" | false |
Khi so sánh hai chuỗi, "2" sẽ lớn hơn "12", bởi vì (theo thứ tự bảng chữ cái) 1 nhỏ hơn 2.
Để đảm bảo một kết quả phù hợp, các biến phải được chuyển đổi thành kiểu thích hợp trước khi so sánh:
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}