JavaScript so sánh

So sánh và toán tử luận lý đượ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âu luận lý để xác định biến hoặc giá trị có bằng nhau không.

Chúng ta cho x = 5, bảng dưới đây giải thích toán tử so sánh:

toán tử mô tả so sánh trả về Kiểm tra
== bằng x == 8 false Thử ngay
x == 5 true Thử ngay
x == "5" true Thử ngay
=== giá trị bằng và loại bằng x === 5 true Thử ngay
x === "5" false Thử ngay
!= không bằng x != 8 true Thử ngay
!== giá trị không bằng hoặc loại không bằng x !== 5 false Thử ngay
x !== "5" true Thử ngay
x !== 8 true Thử ngay
> > lớn hơn false Thử ngay
< nhỏ hơn x < 8 true Thử ngay
>= lớn hơn hoặc bằng x >= 8 false Thử ngay
<= nhỏ hơn hoặc bằng x <= 8 true Thử ngay

Cách sử dụng

Toán tử so sánh có thể được sử dụng trong câu điều kiện để so sánh giá trị và thực hiện hành động dựa trên kết quả:

if (age < 18) text = "quá trẻ";

Trong các chương tiếp theo của hướng dẫn này, bạn sẽ học thêm về các câu điều kiện.

Toán tử luận lý

Toán tử luận lý được sử dụng để xác định logic giữa biến hoặc giá trị.

Chúng ta cho x = 6 và y = 3, bảng dưới đây giải thích toán tử luận lý:

toán tử mô tả ví dụ Kiểm tra
&& (x < 10 && y > 1) là true Thử ngay
|| hoặc (x == 5 || y == 5) là false Thử ngay
! Định lý !(x == y) là true Thử ngay

Toán tử điều kiện (ba ngôi)

JavaScript cũng chứa toán tử điều kiện để gán giá trị cho biến dựa trên một số điều kiện.

cú pháp

tên biến = (điều kiện) ? value1:value2

Mô hình

var voteable = (age < 18) ? "quá trẻ":"đủ thành nhân";

Thử ngay

Nếu giá trị của biến age nhỏ hơn 18, giá trị của biến voteable sẽ là "quá trẻ", ngược lại giá trị của biến voteable sẽ là "đủ thành nhân".

So sánh các loại dữ liệu khác nhau

So sánh dữ liệu của các loại khác nhau có thể dẫn đến kết quả không mong đợi.

Nếu so sánh chuỗi với số, JavaScript sẽ chuyển đổi chuỗi thành giá trị số trong quá trình so sánh. Chuỗi rỗng sẽ được chuyển đổi thành 0. Chuỗi không phải số sẽ được chuyển đổi thành false của NaN

Trường hợp Giá trị Kiểm tra
2 < 12 true Thử ngay
2 < "12" true Thử ngay
2 < "Bill" false Thử ngay
2 > "Bill" false Thử ngay
2 == "Bill" false Thử ngay
"2" < "12" false Thử ngay
"2" > "12" true Thử ngay
"2" == "12" false Thử ngay

Khi so sánh hai chuỗi, "2" lớn hơn "12" vì (theo thứ tự alphabet) 1 nhỏ hơn 2.

Để đảm bảo kết quả chính xác, bạn nên chuyển đổi biến thành loại phù hợp trước khi so sánh giá trị:

age = Number(age);
if (isNaN(age)) {
    voteable = "Lỗi đầu vào";
}
    voteable = (age < 18) ? "Quá trẻ" : "Đủ thành숙";
} 

Thử ngay