· Phạm Thành Nam · JavaScript · 5 phút đọc

Toán Tử Trong JavaScript: Hướng Dẫn Chi Tiết Cho Web Developer

Khám phá tất cả các loại toán tử trong JavaScript, cách hoạt động, ví dụ thực tế và những lỗi thường gặp khi sử dụng toán tử.

Khám phá tất cả các loại toán tử trong JavaScript, cách hoạt động, ví dụ thực tế và những lỗi thường gặp khi sử dụng toán tử.

Toán tử trong JavaScript: Hiểu đúng – dùng chuẩn – viết code hiệu quả

Khi học JavaScript, một trong những chủ đề căn bản nhưng ảnh hưởng cực lớn đến chất lượng code chính là toán tử. Dù bạn đang xử lý điều kiện, vòng lặp, so sánh dữ liệu, tính toán logic hay thao tác với object — toán tử luôn xuất hiện ở mọi nơi.
Đặc biệt, nếu bạn đang tìm kiếm tài liệu chuẩn SEO cho chủ đề “Toán tử” với ví dụ thực tế, dễ đọc, dễ hiểu và phù hợp với web developer, thì bài viết này dành riêng cho bạn.

Dưới đây là hướng dẫn chi tiết – đầy đủ – có ví dụ – có snippet – có best practices, giúp bạn làm chủ mọi loại toán tử trong JavaScript.


1. Toán tử là gì?

Toán tử (operator) là ký hiệu hoặc từ khóa dùng để thực hiện các phép tính hoặc thao tác lên giá trị, biến, biểu thức trong JavaScript.

JavaScript có nhiều nhóm toán tử khác nhau:

  • Toán tử số học (Arithmetic)
  • Toán tử gán (Assignment)
  • Toán tử so sánh (Comparison)
  • Toán tử logic (Logical)
  • Toán tử chuỗi (String)
  • Toán tử điều kiện (Ternary)
  • Toán tử bit (Bitwise)
  • Toán tử typeof, instanceof
  • Toán tử nullish (??) và optional chaining (?.)
  • Toán tử spread và rest

Bài viết này sẽ giúp bạn nắm rõ từng loại cùng ví dụ dễ hiểu.


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

Đây là nhóm toán tử quen thuộc nhất, dùng để tính toán.

Toán tửÝ nghĩa
+Cộng
-Trừ
*Nhân
/Chia
%Lấy dư
**Lũy thừa

Ví dụ:

let a = 10;
let b = 3;

console.log(a + b); // 13
console.log(a % b); // 1
console.log(a ** b); // 1000

Chú ý quan trọng: + với chuỗi

console.log(1 + "2"); // "12"
console.log("Hello " + "World"); // "Hello World"

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

Toán tửVí dụTương đương
=x = yx = y
+=x += yx = x + y
-=x -= yx = x - y
*=x *= yx = x * y
/=x /= yx = x / y

Ví dụ:

let x = 5;
x += 3; // x = 8

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

Toán tửÝ nghĩa
==So sánh bằng (có ép kiểu)
===So sánh bằng (không ép kiểu)
!=Không bằng (có ép kiểu)
!==Không bằng (không ép kiểu)
>Lớn hơn
<Nhỏ hơn
>=Lớn hơn hoặc bằng
<=Nhỏ hơn hoặc bằng

Ví dụ:

console.log(1 == "1"); // true
console.log(1 === "1"); // false

Lời khuyên quan trọng:

👉 Luôn dùng === thay vì == để tránh bug do ép kiểu.


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

Toán tửTênVí dụ
&&ANDa && b
``
!NOT!a

Ví dụ thực tế kiểm tra form:

let age = 20;
let hasID = true;

if (age >= 18 && hasID) {
  console.log("Đủ điều kiện");
}

Short-circuit là gì?

  • && dừng khi gặp giá trị false
  • || dừng khi gặp giá trị true

Ví dụ:

console.log(false && "ABC"); // false
console.log(true || "XYZ"); // true

6. Toán tử chuỗi (String Operators)

Toán tử ++= thường dùng để nối chuỗi.

let msg = "Hello";
msg += " Nam!";
console.log(msg);

7. Toán tử điều kiện (Ternary Operator)

Cú pháp rút gọn cho if…else.

let age = 18;
let result = age >= 18 ? "Adult" : "Child";
console.log(result);

Dùng ternary giúp code ngắn và sạch hơn.


8. Toán tử typeof và instanceof

typeof: kiểm tra kiểu dữ liệu

typeof 123; // "number"
typeof "Nam"; // "string"
typeof {}; // "object"

instanceof: kiểm tra object thuộc class nào

const date = new Date();
console.log(date instanceof Date); // true

9. Toán tử nullish (??)

Dùng để gán giá trị mặc định khi biến là null hoặc undefined.

let user = null;
let name = user ?? "Guest";
console.log(name); // Guest

So sánh với ||:

0 || 10 // 10
0 ?? 10 // 0 (đúng mong muốn)

10. Optional chaining (?.)

Tránh lỗi “Cannot read property of undefined”.

const user = {
  profile: {
    name: "Nam",
  },
};

console.log(user.profile?.name); // Nam
console.log(user.address?.city); // undefined

11. Toán tử Spread & Rest

Spread: “trải” phần tử

const a = [1, 2, 3];
const b = [...a, 4, 5];

Rest: gom phần tử vào 1 biến

function sum(...numbers) {
  return numbers.reduce((a, b) => a + b);
}

12. Toán tử Bitwise (ít dùng)

Toán tửÝ nghĩa
&AND
``
^XOR
~NOT
<<dịch trái
>>dịch phải

Không cần học sâu nếu bạn không làm low-level.


13. Những lỗi thường gặp khi dùng toán tử

13.1 Dùng == thay vì ===

console.log("" == 0); // true (rất nguy hiểm)

13.2 Quên dấu ngoặc trong biểu thức phức tạp

a + b * c // khác nghĩa với (a + b) * c

13.3 Dùng || để gán giá trị mặc định → sai với 0 hoặc chuỗi rỗng

Nên dùng ??

13.4 Nhầm lẫn giữa = và ==

if (x = 5) {
  // luôn true
}

14. Ví dụ thực tế: Kiểm tra quyền user

function checkPermission(user) {
  return user?.role === "admin"
    ? "Có quyền truy cập"
    : "Không đủ quyền";
}

console.log(checkPermission({ role: "admin" }));

15. Checklist học toán tử

  • Nắm vững toán tử số học
  • Phân biệt == và ===
  • Biết dùng &&, || và short-circuit
  • Dùng ternary cho biểu thức ngắn
  • Dùng ?? thay cho || trong nhiều trường hợp
  • Hiểu optional chaining để tránh crash
  • Biết dùng spread/rest trong object và array

16. Kết luận

Toán tử là nền tảng của mọi biểu thức trong JavaScript. Khi nắm vững toán tử, bạn sẽ viết code rõ ràng hơn, ít bug hơn và tư duy logic sắc bén hơn.
Nếu bạn muốn mình tiếp tục viết về chủ đề như Toán tử so sánh nâng cao, Type coercion, Scope, Closure hoặc chuỗi bài học JavaScript cho người mới — cứ nhắn nhé!

Chúc bạn học tốt và viết code ngày càng chất lượng! 🚀

Bình luận

Quay lại Blog

Bài viết liên quan

Xem tất cả bài viết »