JavaScript Comparison and Logical Operators trong Javascript
Comparison and Logical operators có thể hiểu nôm na là so sánh và biểu thức điều kiện, chúng được sử dụng để kiểm tra một điều kiện nào đó đúng hay sai.
Comparison Operators
Các toán tử so sánh được sử dụng trong các câu lệnh logic để xác định xem giá trị của biến này có bằng, lớn hơn, nhỏ hơn .vv. giá trị của biến kia hay không.
Toán tử | Mô Tả | Ví dụ | Kết quả | DEMO |
---|---|---|---|---|
== | so sánh bằng giá trị |
x = 5, x == 8 x = 5, x == 5 Bài viết này được đăng tại [free tuts .net] x = 5, x == "5" |
False True True |
|
=== | so sánh bằng giá trị và kiểu dữ liệu |
x = 5, x === 5 x = 5, x === "5" |
True False |
|
!== | so sánh khác giá trị |
x = 5, x != 10 |
True | DEMO |
!== | so sánh khác giá trị hoặc khác kiểu dữ liệu |
x = 5, x !== 5 x = 5, x !== "5" x = 5, x !== 10 |
False True True |
|
> | lớn hơn | x = 5, x > 3 | True | DEMO |
< | nhỏ hơn | x = 5, x < 3 | False | DEMO |
>= | lớn hơn hoặc bằng | x = 5, x >= 6 | False | DEMO |
<= | nhỏ hơn hoặc bằng | x = 5, x <= 5 | True | DEMO |
Cách sử dụng
Các toán tử so sánh đươc sử dụng trong các biểu thức điều kiện để kiểm tra giá trị sau đó thực hiện một hành động nào đó tùy thuộc vào kết quả trả về của phép so sánh:
if (score < 50) result = "Bad"; if (score > 50) result = "Good";
Logical Operators
Các toán tử logic được sử dụng kết hợp với các phép so sánh để xác định tính logic giữa các biến hoặc các giá trị.
Toán tử | Mô tả | Ví dụ | Kết quả | DEMO |
---|---|---|---|---|
& | so sánh và | x = 5, y = 4, ( x > 4 & y > 3) | True | DEMO |
|| | so sánh hoặc | x = 5, y = 4, ( x > 4 || y > 6) | True | DEMO |
! | phủ định của phép so sánh | x = 5, y = 4, !( x == y) | True | DEMO |
Conditional (Ternary) Operator
Conditional Operator có thể hiểu là một biểu thức điều kiện, javascript sử dụng nó để gán giá trị cho biến, giá trị sẽ thay đổi tùy thuộc vào kết quả trả về của điều kiện.
Cú pháp: variablename = (condition) ? value1:value2
var skill = (score > 50) ? "good":"bad";
Trong ví dụ trên, nếu điểm bạn nhập vào nhỏ hơn 50 hoặc bằng 50, 'your skill is bad" sẽ được in ra, ngược lại, nếu score cao hơn 50, "your skill is good" sẽ được in ra.
Comparing Different Types
Các phép so sánh đối với các kiểu dữ liệu khác nhau có thể trả về những kết quả không theo ý muốn.
Khi so sánh một chuỗi với một số, chuỗi sẽ được chuyển thành kiểu số và tiến hành so sánh. Một chuỗi rỗng sẽ được chuyển thành 0, một chuỗi không thể chuyển thành kiểu số sẽ được chuyển thành NaN, các phép so sánh với NaN sẽ luôn trả về False.
Ví dụ | Kết quả | DEMO |
---|---|---|
10 < 99 | True | DEMO |
10 < "99" | True | DEMO |
10 > "ten" | False | DEMO |
10 < "ten" | False | DEMO |
10 == "ten" | False | DEMO |
"10" < "2" | True | DEMO |
"10" > "2" | False | DEMO |
"10" == "2" | False | DEMO |
Khi so sánh hai chuỗi, "2" sẽ lớn hơn "10" vì 2 lớn hơn 1 theo bảng chữ cái. Để có kết quả chính xác, các biến nên được chuyển thành kiểu Number trước khi so sánh.
var x = "10"; var y = "2"; x = Number(x); y = Number(y); content = (x > y) ? 'Đúng' : 'Sai';
Tham khảo: w3schools.com
Câu hỏi thường gặp liên quan:
- JavaScript Arithmetic Trong Javascript
- Các phép gán trong Javascript
- JavaScript Comparison and Logical Operators trong Javascript