• Trang chủ
  • So sánh JavaScript và toán tử logic

So sánh JavaScript và toán tử logic

Các toán tử so sánh và logic được sử dụng để kiểm tra truehoặ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ằng nhau 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ó
Toán tử so sánh có thể được sử dụng trong các câu lệnh có đ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";
Bạn sẽ tìm hiểu thêm về việc sử dụng các câu đ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ị.

Cho rằng x = 6và 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 (Ternary)
JavaScript cũng chứa một toán tử có đ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ụ
var voteable = (age < 18) ? "Too young":"Old enough";

Nếu tuổi biến là giá trị dưới 18, giá trị của biến có thể bỏ phiếu sẽ là "Quá trẻ", nếu không, giá trị có thể bỏ phiếu sẽ là "Đủ cũ".

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ả bất ngờ.

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 chuyển thành 0. Một chuỗi không phải là số chuyển đổi thành NaNluôn luôn 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 bảng chữ cái) 1 nhỏ hơn 2.

Để bảo đảm một kết quả phù hợp, các biến phải được chuyển đổi thành loại 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";
}