JavaScript - Operators
Xin chào các bạn tương lai của các pháp sư JavaScript! Tôi rất vui mừng được làm hướng dẫn viên của các bạn trong hành trình thú vị vào thế giới các phép toán JavaScript. Là người đã dạy lập trình trong nhiều năm, tôi có thể nói rằng việc hiểu các phép toán giống như học một cách chào hỏi bí mật của thế giới mã hóa. Vậy, hãy cùng nhau lặn sâu và giải mã những bí ẩn này nhé!
什么是运算符?
Trước khi chúng ta nhảy vào phần chi tiết, hãy bắt đầu từ cơ bản. Trong JavaScript, một phép toán là một ký hiệu đặc biệt được sử dụng để thực hiện các phép toán trên các.operands (giá trị và biến). Hãy tưởng tượng các phép toán như các động từ trong ngôn ngữ lập trình - chúng là các hành động làm cho mọi thứ xảy ra!
Ví dụ, trong biểu thức 2 + 3
, +
là phép toán, trong khi 2
và 3
là các operands. Đơn giản phải không?
JavaScript Arithmetic Operators
Bây giờ, hãy nói về các phép toán số học. Đây là những gì cốt lõi của các phép toán toán học trong JavaScript. Nhớ lại những lớp toán học bạn đã học? Đã đến lúc làm mới kiến thức đó!
Dưới đây là bảng các phép toán số học:
Phép toán | Mô tả | Ví dụ |
---|---|---|
+ | Cộng | 5 + 3 = 8 |
- | Trừ | 5 - 3 = 2 |
* | Nhân | 5 * 3 = 15 |
/ | Chia | 15 / 3 = 5 |
% | Modulus (Phần dư) | 5 % 2 = 1 |
++ | Tăng | Let x = 5; x++; (Bây giờ x là 6) |
-- | Giảm | Let x = 5; x--; (Bây giờ x là 4) |
Hãy xem chúng trong hành động:
let a = 10;
let b = 5;
console.log(a + b); // Output: 15
console.log(a - b); // Output: 5
console.log(a * b); // Output: 50
console.log(a / b); // Output: 2
console.log(a % b); // Output: 0
a++; // a bây giờ là 11
console.log(a); // Output: 11
b--; // b bây giờ là 4
console.log(b); // Output: 4
Mỗi dòng trong đoạn mã này minh họa cách các phép toán này hoạt động. Phép toán modulus (%
) có thể mới đối với một số bạn - nó cho bạn phần dư sau phép chia. Nó vô cùng hữu ích khi bạn cần kiểm tra một số có phải là chẵn hay lẻ!
JavaScript Comparison Operators
Tiếp theo, chúng ta có các phép toán so sánh. Những phép toán này giống như các trọng tài trong một cuộc thi lập trình - chúng so sánh các giá trị và trả về true hoặc false. Chúng rất quan trọng để ra quyết định trong mã của bạn.
Dưới đây là bảng các phép toán so sánh:
Phép toán | Mô tả | Ví dụ |
---|---|---|
== | Bằng | 5 == 5 trả về true |
=== | Bằng chặt (giá trị và loại) | 5 === "5" trả về false |
!= | Không bằng | 5 != 3 trả về true |
!== | Không bằng chặt | 5 !== "5" trả về true |
> | Lớn hơn | 5 > 3 trả về true |
< | Nhỏ hơn | 5 < 3 trả về false |
>= | Lớn hơn hoặc bằng | 5 >= 5 trả về true |
<= | Nhỏ hơn hoặc bằng | 5 <= 3 trả về false |
Hãy xem chúng trong hành động:
let x = 5;
let y = "5";
console.log(x == y); // Output: true
console.log(x === y); // Output: false
console.log(x != y); // Output: false
console.log(x !== y); // Output: true
console.log(x > 3); // Output: true
console.log(x < 10); // Output: true
console.log(x >= 5); // Output: true
console.log(x <= 4); // Output: false
Chú ý sự khác biệt giữa ==
và ===
. Triple equals (===
) kiểm tra cả giá trị và loại, trong khi double equals (==
) chỉ kiểm tra giá trị. Đây là nguồn gốc của nhiều lỗi cho người mới bắt đầu, vì vậy hãy luôn cẩn thận với cái bạn đang sử dụng!
JavaScript Logical Operators
Các phép toán logic là những người ra quyết định trong JavaScript. Chúng giúp bạn kết hợp nhiều điều kiện và ra quyết định phức tạp. Hãy tưởng tượng chúng như những ngườielderwise của làng lập trình, hướng dẫn mã của bạn để ra quyết định đúng.
Dưới đây là bảng các phép toán logic:
Phép toán | Mô tả | Ví dụ |
---|---|---|
&& | Logic AND | (x > 0 && x < 10) |
|| | Logic OR | (x === 5 || y === 5) |
! | Logic NOT | !(x === y) |
Hãy xem chúng trong hành động:
let a = 5;
let b = 10;
console.log(a > 0 && b < 20); // Output: true
console.log(a > 10 || b === 10); // Output: true
console.log(!(a === b)); // Output: true
Phép toán &&
chỉ trả về true nếu cả hai điều kiện đều đúng. Phép toán ||
trả về true nếu ít nhất một điều kiện là true. Phép toán !
đảo ngược giá trị boolean - nó chuyển true thành false và false thành true.
JavaScript Bitwise Operators
Bây giờ, chúng ta đang bước vào thế giới của các phép toán bit. Những phép toán này hoạt động trên các bit của các giá trị số nguyên. Chúng giống như các điệp viên của thế giới lập trình - không được sử dụng thường xuyên, nhưng vô cùng mạnh mẽ khi cần thiết.
Dưới đây là bảng các phép toán bit:
Phép toán | Mô tả |
---|---|
& | Bitwise AND |
| | Bitwise OR |
^ | Bitwise XOR |
~ | Bitwise NOT |
<< | Left shift |
>> | Sign-propagating right shift |
>>> | Zero-fill right shift |
Những phép toán này hơi phức tạp, vì vậy đừng lo lắng nếu chúng có vẻ rối rắm ban đầu. Khi bạn tiến hóa trong hành trình JavaScript của mình, bạn sẽ gặp các tình huống mà chúng rất hữu ích.
JavaScript Assignment Operators
Các phép toán gán được sử dụng để gán giá trị cho các biến. Chúng giống như những người vận chuyển trong thế giới lập trình - chúng đặt mọi thứ vào đúng nơi.
Dưới đây là bảng các phép toán gán:
Phép toán | Mô tả | Ví dụ |
---|---|---|
= | Gán | x = 5 |
+= | Cộng gán | x += 3 tương đương x = x + 3 |
-= | Trừ gán | x -= 3 tương đương x = x - 3 |
*= | Nhân gán | x = 3 tương đương x = x 3 |
/= | Chia gán | x /= 3 tương đương x = x / 3 |
%= | Modulus gán | x %= 3 tương đương x = x % 3 |
Hãy xem chúng trong hành động:
let x = 5;
console.log(x); // Output: 5
x += 3;
console.log(x); // Output: 8
x -= 2;
console.log(x); // Output: 6
x *= 4;
console.log(x); // Output: 24
x /= 3;
console.log(x); // Output: 8
x %= 3;
console.log(x); // Output: 2
Những phép toán này là các đường tắt giúp mã của bạn ngắn gọn và dễ đọc hơn. Chúng giống như những con dao瑞士军刀 của thế giới lập trình - đa năng và tiện lợi!
JavaScript Miscellaneous Operators
Cuối cùng, hãy xem xét một số phép toán khác không phù hợp vào các danh mục khác.
- Conditional (Ternary) Operator: Đây là một viết tắt cho câu lệnh if-else.
let age = 20;
let canVote = (age >= 18) ? "Yes" : "No";
console.log(canVote); // Output: "Yes"
Phép toán này kiểm tra nếu age >= 18
là true. Nếu đúng, nó gán "Yes" cho canVote
, nếu không nó gán "No".
- typeof Operator: Đây trả về một chuỗi chỉ ra loại của operand.
console.log(typeof 42); // Output: "number"
console.log(typeof 'blubber'); // Output: "string"
console.log(typeof true); // Output: "boolean"
console.log(typeof [1, 2, 4]); // Output: "object"
- delete Operator: Đây xóa một thuộc tính của đối tượng hoặc một phần tử của mảng.
let person = {name: "John", age: 30};
delete person.age;
console.log(person); // Output: {name: "John"}
Và thế là xong, các bạn! Chúng ta đã cùng nhau hành trình qua thế giới các phép toán JavaScript. Nhớ rằng, thực hành là cách tốt nhất để hoàn thiện. Vậy, đừng ngại thử nghiệm với các phép toán này trong mã của riêng bạn. Chúc các bạn lập trình vui vẻ!
Credits: Image by storyset