JavaScript Comparison and Logical Operators - So sánh và các toán tử Logic trong JavaScript
Các toán tử so sánh và logic được dùng để kiểm tra true
hoặc false
.
Các toán tử so sánh
Các toán tử so sánh được dùng trong các câu lệnh logic để quyết định sự tương đương hay khác biệt giữa các biến hoặc các giá trị.
Cho x = 5
, bảng dưới giải thích về các toán tử so sánh:
Toán tử | Mô tả | So sánh | Trả về | |
---|---|---|---|---|
!= | không tương đương | x != 8 | true | |
!== | không bằng cả về giá trị và kiểu | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | lớn hơn | x > 8 | false | |
< | bé hơn | x < 8 | true | |
>= | lớn hơn hoặc bằng | x >= 8 | false | |
<= | bé hơn hoặc bằng | x <= 8 | true |
Làm sao có thể sử dụng nó
Các toán tử so sánh có thể sử dụng trong các câu lệnh điều kiện để so sánh các giá trị và hành động dựa trên kết quả:
if (age < 18) text = "Too young";
Bạn sẽ học nhiều hơn nữa về sử dụng các câu lệnh điều kiện trong chương tiếp theo.
Các toán tử Logic
Các toán tử logic được dùng để quyết định logic giữa các biến hoặc các giá trị.
Cho x = 6
và y = 3
, bảng dưới giả thích các toán tử logic:
Toán tử | Mô tả | Ví dụ |
---|---|---|
&& | và | (x < 10 && y > 1) là true |
|| | hoặc | (x == 5 || y == 5) là false |
! | phủ định | !(x == y) là true |
Toán tử có điều kiện(Ternary)
JavaScript cũng chứa một toán tử điều kiện, có thể gán một giá trị cho một biến dựa trên một vài điều kiện.
Syntax
variablename = (condition) ? value1:value2
ví dụ
var voteable = (age < 18) ? "Too young":"Old enough";
<!DOCTYPE html>
<html>
<body>
<p>Input your age and click the button:</p>
<input id="age" value="18" />
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var age, voteable;
age = document.getElementById("age").value;
voteable = (age < 18) ? "Too young":"Old enough";
document.getElementById("demo").innerHTML = voteable + " to vote.";
}
</script>
</body>
</html>
Nếu biến age là giá trị dưới 18, giá trị lựa chọn của biến sẽ là "Too young", nếu không giá trị lựa chọn sẽ là "Old enough".
So sánh các kiểu khác nhau
So sánh các kiểu dữ liệu khác nhau có thể dẫn tới một số kết quả không ngờ.
Khi so sánh một chuỗi với một số, JavaScript sẽ chuyển chuỗi thành một số khi bắt đầu so sánh. Một chuỗi rỗng chuyển thành 0. Một chuỗi không phải số chuyển thành NaN
nghĩa là luôn false
.
Trường hợp | Giá trị |
---|---|
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", vì (theo abc) 1 bé hơn 2.
Để đảm bảo có một kết quả phù hợp, các biến nên đươc chuyển thành kiểu phù 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";
}
<p>Input your age and click the button:</p>
<input id="age" value="18" />
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var age, voteable;
age = Number(document.getElementById("age").value);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
document.getElementById("demo").innerHTML = voteable;
}
</script>
</body>
</html>
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)