Thursday, November 21, 2024

[Javascript] – Phần 62: So sánh và toán tử logic trong JavaScript

-

So sánh và Toán tử logic trong JavaScript là các công cụ quan trọng để kiểm tra giá trị và logic của các biến hoặc giá trị. Chúng được sử dụng trong nhiều loại cấu trúc điều khiển, chẳng hạn như câu lệnh if, else, switch, và vòng lặp for, while, do-while.

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ự giống nhau hoặc khác nhau giữa các biến hoặc giá trị.
  • Bảng sau giải thích các toán tử so sánh với ví dụ giả sử x = 5:
Toán tửMô tảVí dụ
==Kiểm tra sự bằng nhaux == 8 trả về false
x == 5 trả về true
x == "5" trả về true (kiểm tra giá trị không cần xét kiểu)
===Kiểm tra sự bằng nhau về cả giá trị và kiểux === 5 trả về true
x === "5" trả về false
!=Kiểm tra sự khác nhaux != 8 trả về true
!==Kiểm tra sự khác nhau về cả giá trị và kiểux !== 5 trả về false
x !== "5" trả về true
x !== 8 trả về true
>Kiểm tra lớn hơnx > 8 trả về false
<Kiểm tra nhỏ hơnx < 8 trả về true
>=Kiểm tra lớn hơn hoặc bằngx >= 8 trả về false
<=Kiểm tra nhỏ hơn hoặc bằngx <= 8 trả về true

Ví dụ sử dụng:

if (age < 18) {
  text = "Too young to buy alcohol";
}

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ị.
  • Bảng sau giải thích các toán tử logic với ví dụ giả sử x = 6 và y = 3:
Toán tửMô tảVí dụ
&&Kiểm tra điều kiện “và”(x < 10 && y > 1) trả về true
``Kiểm tra điều kiện “hoặc”
!Kiểm tra điều kiện “không”!(x == y) trả về true

Toán tử ba ngôi:

  • JavaScript cũng có một toán tử ba ngôi gán giá trị cho một biến dựa trên một điều kiện.
  • Cú pháp:
variableName = (condition) ? value1 : value2;

Ví dụ:

let voteable = (age < 18) ? "Too young" : "Old enough";

So sánh các kiểu dữ liệu khác nhau:

  • So sánh dữ liệu của các kiểu khác nhau có thể dẫn đến kết quả bất ngờ.
  • Khi so sánh một chuỗi với một số, JavaScript sẽ cố gắng chuyển đổi chuỗi thành số. Chuỗi rỗng được chuyển đổi thành 0. Chuỗi không phải số được chuyển đổi thành NaN (giá trị not-a-number) luôn bằng false.

Ví dụ:

2 < "12" // true (kiểu số được ưu tiên)
2 < "John" // false (chuỗi được chuyển thành NaN)
2 > "John" // false (chuỗi được chuyển thành NaN)
2 == "John" // false (kiểu khác nhau)
"2" < "12" // false (so sánh từng ký tự)
"2" > "12" // true (so sánh từng ký tự)
"2" == "12" // false (kiểu khác nhau)

Để đảm bảo kết quả chính xác, bạn nên chuyển đổi các biến sang 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";
}

Toán tử Nullish Coalescing (??):

  • Toán tử ?? trả về đối số thứ nhất nếu nó không phải null hoặc undefined.
  • Nếu không, nó sẽ trả về đối số thứ hai.

Ví dụ:

let name = null;
let text = "missing";
let result = name ?? text; // "missing"

name = "John";
result = name ?? text; // "John"

Toán tử Optional Chaining (?.):

  • Toán tử ?. trả về giá trị của thuộc tính hoặc phương thức nếu đối tượng không phải undefined hoặc null.
  • Nếu đối tượng là undefined hoặc null, toán tử sẽ trả về undefined.

Ví dụ:

const car = {
  type: "Fiat",
  model: "500",
  color: "white",
};

const name = car?.name; // "500"
const speed = car?.engine?.speed; // undefined

Kết luận:

  • Toán tử so sánh và logic được sử dụng để kiểm tra giá trị và logic của các biến hoặc giá trị.
  • Toán tử ba ngôi được sử dụng để gán giá trị cho một biến dựa trên một điều kiện.
  • Toán tử Nullish Coalescing trả về đối số thứ nhất nếu nó không phải null hoặc undefined.
  • Toán tử Optional Chaining trả về giá trị của thuộc tính hoặc phương thức nếu đối tượng không phải undefined hoặc null.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories