Toán tử logic (logical operator) và toán tử ba ngôi (ternary operator)

Thumbnail Image

Toán tử logic được sử dụng để kiểm tra các điều kiện logic trong mã của bạn, trong khi toán tử ba ngôi cho phép bạn thực hiện một phép toán trên hai toán hạng bằng cách sử dụng một biểu thức điều kiện. Trong bài viết này, chúng ta sẽ đi sâu vào từng loại toán tử này và tìm hiểu cách sử dụng chúng trong JavaScript.

 

1. Toán tử logic

Toán tử logic là các toán tử dùng để kết hợp các giá trị logic (true hoặc false) với nhau để đưa ra kết quả mới. Các toán tử logic thường được sử dụng trong các điều kiện, vòng lặp, hoặc để kiểm tra tính đúng đắn của dữ liệu đầu vào.

a. Toán tử phủ định (!)

Toán tử phủ định ! được sử dụng để đảo ngược giá trị của biểu thức logic. Nếu giá trị ban đầu là true, thì sử dụng toán tử phủ định ! sẽ trả về giá trị false. Ngược lại, nếu giá trị ban đầu là false, thì sử dụng toán tử phủ định ! sẽ trả về giá trị true.

Ví dụ:

let a = true;
let b = !a;
console.log(b); // false

Trong ví dụ trên, giá trị ban đầu của biến atrue, sau đó sử dụng toán tử phủ định ! để đảo ngược giá trị thành false, và gán giá trị mới cho biến b.

let c = false;
let d = !c;
console.log(d); // true

Trong ví dụ này, giá trị ban đầu của biến cfalse, sau đó sử dụng toán tử phủ định ! để đảo ngược giá trị thành true, và gán giá trị mới cho biến d.

b. Toán tử và (&&)

Toán tử && (logical AND) trả về giá trị true nếu cả hai biểu thức đều đúng (truthy), ngược lại trả về giá trị false.

Cú pháp: expr1 && expr2

Ví dụ:

let a = 5;
let b = 10;
let c = 15;

if (a < b && b < c) {
  console.log("b nằm giữa a và c");
}

Trong ví dụ này, biểu thức a < b && b < c sẽ trả về giá trị true, do cả hai điều kiện đều đúng. Do đó, đoạn code bên trong câu lệnh if sẽ được thực thi và in ra màn hình chuỗi "b nằm giữa a và c".

Nếu một trong hai biểu thức là false, thì toán tử && trả về giá trị false.

Ví dụ:

let a = 5;
let b = 10;
let c = 15;

if (a < b && b > c) {
  console.log("Điều kiện không thỏa mãn");
}

Trong ví dụ này, biểu thức a < b && b > c sẽ trả về giá trị false, do biểu thức thứ hai là false. Do đó, đoạn code bên trong câu lệnh if sẽ không được thực thi.

c. Toán tử hoặc (||)

Toán tử hoặc (or) trong JavaScript được đại diện bằng dấu "||". Toán tử này có thể được sử dụng để kiểm tra nhiều điều kiện và trả về kết quả đúng nếu ít nhất một điều kiện đó là đúng.

Cú pháp:

x || y

Nếu x là true thì kết quả trả về là x, ngược lại nếu x là false thì kết quả trả về là y.

Ví dụ:

let a = 5;
let b = 10;

let result = (a < 2) || (b > 8);
console.log(result); // true

result = (a < 2) || (b < 8);
console.log(result); // false

Trong ví dụ trên, biến result sẽ trả về true nếu a < 2 hoặc b > 8. Nếu cả hai điều kiện đều sai, thì kết quả trả về sẽ là false.

 

2. Toán tử ba ngôi

Toán tử ba ngôi là toán tử mà có thể nhận ba toán hạng và thực hiện một phép tính dựa trên giá trị của các toán hạng đó. Trong JavaScript, toán tử ba ngôi duy nhất là toán tử "?:", còn được gọi là toán tử điều kiện.

Cú pháp của toán tử ba ngôi như sau:

condition ? value1 : value2

Trong đó, condition là một biểu thức hoặc giá trị boolean, value1 là giá trị trả về nếu condition đúng, và value2 là giá trị trả về nếu condition sai.

Ví dụ:

let age = 18;
let message = age >= 18 ? "Bạn đã đủ tuổi" : "Bạn chưa đủ tuổi";
console.log(message); // output: "Bạn đã đủ tuổi"

Trong ví dụ này, biểu thức age >= 18 trả về giá trị true, vì vậy biến message sẽ được gán giá trị "Bạn đã đủ tuổi". Nếu age bằng 17, biến message sẽ được gán giá trị "Bạn chưa đủ tuổi".