Toán tử trong JavaScript

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 7 tháng 3, 2025

Toán tử là các ký hiệu đặc biệt dùng để thực hiện phép toán trên dữ liệu. JavaScript cung cấp nhiều loại toán tử khác nhau như:

  • Toán tử số học (+, -, *, /, %, **)
  • Toán tử gán (=, +=, -=, *=, /=)
  • Toán tử so sánh (==, ===, !=, !==, >, <, >=, <=)
  • Toán tử logic (&&, ||, !)
  • Toán tử ba ngôi (condition ? value1 : value2)

Hiểu rõ các toán tử giúp bạn viết code hiệu quả và xử lý điều kiện linh hoạt hơn trong JavaScript.

Toán tử trong JavaScript

1. Toán tử số học (Arithmetic Operators)

Toán tử số học dùng để thực hiện các phép toán cơ bản.

Toán tử Chức năng Ví dụ
+ Cộng 5 + 3 = 8
- Trừ 10 - 4 = 6
* Nhân 6 * 2 = 12
/ Chia 8 / 2 = 4
% Chia lấy dư 10 % 3 = 1
** Lũy thừa 2 ** 3 = 8

Ví dụ minh họa

let a = 10, b = 3;
console.log(a + b); // 13
console.log(a - b); // 7
console.log(a * b); // 30
console.log(a / b); // 3.3333
console.log(a % b); // 1
console.log(2 ** 3); // 8

Lưu ý: Khi sử dụng + với chuỗi, JavaScript sẽ thực hiện nối chuỗi thay vì cộng số.

console.log("Hello" + " World"); // "Hello World"
console.log("5" + 2); // "52" (JavaScript tự chuyển số 2 thành chuỗi)
console.log(5 + "2"); // "52"

2. Toán tử gán (Assignment Operators)

Toán tử gán được sử dụng để gán giá trị cho biến.

Toán tử Chức năng Ví dụ
= Gán giá trị let x = 10;
+= Cộng rồi gán x += 5; (tương đương x = x + 5;)
-= Trừ rồi gán x -= 3; (tương đương x = x - 3;)
*= Nhân rồi gán x *= 2; (tương đương x = x * 2;)
/= Chia rồi gán x /= 2; (tương đương x = x / 2;)

Ví dụ minh họa

let x = 10;
x += 5; // x = x + 5 -> x = 15
x -= 3; // x = x - 3 -> x = 12
x *= 2; // x = x * 2 -> x = 24
x /= 4; // x = x / 4 -> x = 6
console.log(x); // 6

3. Toán tử so sánh (Comparison Operators)

Toán tử so sánh dùng để so sánh hai giá trị và trả về true hoặc false.

Toán tử Chức năng Ví dụ Kết quả
== So sánh bằng (không xét kiểu) 5 == "5" true
=== So sánh bằng (có xét kiểu) 5 === "5" false
!= So sánh khác (không xét kiểu) 5 != "5" false
!== So sánh khác (có xét kiểu) 5 !== "5" true
> Lớn hơn 10 > 5 true
< Nhỏ hơn 3 < 7 true
>= Lớn hơn hoặc bằng 5 >= 5 true
<= Nhỏ hơn hoặc bằng 8 <= 6 false

Ví dụ minh họa

console.log(5 == "5");  // true (không xét kiểu)
console.log(5 === "5"); // false (vì kiểu dữ liệu khác nhau)
console.log(10 > 5);    // true
console.log(3 != "3");  // false (không xét kiểu)
console.log(3 !== "3"); // true (vì khác kiểu)

Lưu ý:

  • == chỉ so sánh giá trị, không so sánh kiểu.
  • === so sánh cả giá trị và kiểu dữ liệu (nên ưu tiên dùng ===).

4. Toán tử logic (Logical Operators)

Toán tử logic được sử dụng để kết hợp nhiều điều kiện.

Toán tử Chức năng Ví dụ Kết quả
&& AND – Tất cả điều kiện phải đúng (5 > 3) && (10 < 20) true
` ` OR – Chỉ cần một điều kiện đúng
! NOT – Phủ định giá trị boolean !(5 > 3) false

Ví dụ minh họa

console.log(true && false); // false
console.log(true || false); // true
console.log(!true); // false

let age = 20;
let isStudent = true;
console.log(age > 18 && isStudent); // true
console.log(age < 18 || isStudent); // true
console.log(!(age > 18)); // false

Lưu ý:

  • && chỉ trả về true nếu tất cả điều kiện đều đúng.
  • || trả về true nếu ít nhất một điều kiện đúng.
  • ! phủ định giá trị true thành false và ngược lại.

5. Toán tử ba ngôi (Ternary Operator)

Toán tử ba ngôi giúp viết điều kiện ngắn gọn hơn if-else.

Cú pháp

condition ? value1 : value2;
  • Nếu condition đúng → trả về value1.
  • Nếu condition sai → trả về value2.

Ví dụ minh họa

let age = 20;
let message = (age >= 18) ? "Đủ tuổi" : "Chưa đủ tuổi";
console.log(message); // "Đủ tuổi"

Ưu điểm: Viết gọn gàng, thay thế if-else khi chỉ có một câu lệnh.

Kết luận

  • Toán tử trong JavaScript giúp xử lý tính toán, điều kiện, và logic dễ dàng hơn.
  • Ưu tiên dùng === thay vì == để tránh lỗi so sánh kiểu dữ liệu.
  • Toán tử ba ngôi (? :) giúp rút gọn câu lệnh if-else.
Website Logo

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.

Bình luận

Website Logo

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.

Liên hệ công việc qua email dưới đây.

lhvuctu@gmail.com

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ