JavaScript - Các toán tử gán

Xin chào các bạn học lập trình! Hôm nay, chúng ta sẽ cùng khám phá thế giới thú vị của các toán tử gán trong JavaScript. Đừng lo lắng nếu bạn mới bắt đầu học lập trình - tôi sẽ hướng dẫn bạn từng bước, giống như tôi đã làm với hàng trăm học sinh trong những năm dạy học của mình. Hãy cùng bắt đầu cuộc phiêu lưu lập trình này nhé!

JavaScript - Assignment Operators

Các toán tử gán trong JavaScript

Các toán tử gán giống như những con ngựa劳工 trong lập trình. Chúng giúp chúng ta gán giá trị cho các biến, đó là một khái niệm cơ bản trong lập trình. Hãy tưởng tượng các biến như những hộp để lưu trữ thông tin, và các toán tử gán như những công cụ chúng ta sử dụng để đặt thứ gì đó vào những hộp đó.

Toán tử gán cơ bản (=)

Toán tử gán phổ biến nhất là dấu bằng (=). Nó đơn giản nhưng mạnh mẽ. Hãy cùng xem một ví dụ:

let myAge = 30;
console.log(myAge); // Output: 30

Trong ví dụ này, chúng ta đang tạo một biến名叫 myAge và gán giá trị 30 cho nó. Lệnh console.log sau đó in giá trị này.

Nhưng đợi đã, còn nhiều hơn thế! Các toán tử gán có thể làm nhiều hơn chỉ đơn giản là gán giá trị. Hãy cùng khám phá một số toán tử thú vị hơn!

Các toán tử gán arithmetic

Các toán tử gán arithmetic kết hợp các phép toán toán học với việc gán giá trị. Chúng giống như những phím tắt giúp mã của chúng ta trở nên ngắn gọn và dễ đọc hơn.

Dưới đây là bảng các toán tử gán arithmetic:

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

Hãy cùng xem chúng trong hành động:

let score = 10;

score += 5; // score bây giờ là 15
console.log(score); // Output: 15

score -= 3; // score bây giờ là 12
console.log(score); // Output: 12

score *= 2; // score bây giờ là 24
console.log(score); // Output: 24

score /= 4; // score bây giờ là 6
console.log(score); // Output: 6

score %= 4; // score bây giờ là 2 (phần dư của 6 chia cho 4)
console.log(score); // Output: 2

score **= 3; // score bây giờ là 8 (2 lũy thừa 3)
console.log(score); // Output: 8

Thật tuyệt vời phải không? Chúng ta đã thay đổi biến score của mình theo nhiều cách khác nhau mà không cần phải viết ra đầy đủ các biểu thức toán học mỗi lần.

Các toán tử gán bitwise

Bây giờ, hãy cùng mạo hiểm vào lãnh thổ hơi phức tạp hơn một chút: các toán tử gán bitwise. Những toán tử này thực hiện các phép toán bitwise và gán kết quả cho biến. Đừng lo lắng nếu điều này听起来 phức tạp - tôi sẽ giải thích rõ cho bạn!

Dưới đây là bảng các toán tử gán bitwise:

Toán tử Ví dụ Tương đương với
&= x &= y x = x & y
|= x |= y x = x | y
^= x ^= y x = x ^ y
<<= x <<= y x = x << y
>>= x >>= y x = x >> y
>>>= x >>>= y x = x >>> y

Hãy xem một vài ví dụ:

let bitwiseNum = 5; // Binary: 0101

bitwiseNum &= 3; // Binary: 0101 & 0011 = 0001
console.log(bitwiseNum); // Output: 1

bitwiseNum |= 6; // Binary: 0001 | 0110 = 0111
console.log(bitwiseNum); // Output: 7

Trong các ví dụ này, chúng ta đang thực hiện các phép toán bitwise AND (&) và OR (|). Đó như một mã bí mật cho máy tính!

Các toán tử gán dịch bit

Toán tử gán dịch bit là một phần của gia đình bitwise, nhưng chúng xứng đáng được chú ý riêng. Chúng dịch các bit của một số trái hoặc phải và gán kết quả cho biến.

Chúng ta đã thấy chúng trong bảng trước, nhưng hãy tập trung vào chúng:

Toán tử Ví dụ Tương đương với
<<= x <<= y x = x << y
>>= x >>= y x = x >> y
>>>= x >>>= y x = x >>> y

Dưới đây là cách chúng hoạt động:

let shiftNum = 8; // Binary: 1000

shiftNum <<= 1; // Dịch trái bằng 1, Binary: 10000
console.log(shiftNum); // Output: 16

shiftNum >>= 2; // Dịch phải bằng 2, Binary: 0100
console.log(shiftNum); // Output: 4

Dịch bit giống như di chuyển các chữ số trong một số, nhưng trong hệ nhị phân. Đây là một công cụ mạnh mẽ cho một số loại phép toán!

Các toán tử gán logic

Cuối cùng, hãy cùng nói về các toán tử gán logic. Những toán tử này được thêm vào JavaScript tương đối mới, được giới thiệu trong ES2021. Chúng kết hợp các phép toán logic với việc gán giá trị.

Dưới đây là bảng các toán tử gán logic:

Toán tử Ví dụ Tương đương với
&&= x &&= y x && (x = y)
||= x ||= y x || (x = y)
??= x ??= y x ?? (x = y)

Hãy xem chúng trong hành động:

let a = true;
let b = false;

a &&= 5; // a vẫn là true, vì vậy nó trở thành 5
console.log(a); // Output: 5

b ||= 10; // b là false, vì vậy nó trở thành 10
console.log(b); // Output: 10

let c;
c ??= 15; // c là undefined, vì vậy nó trở thành 15
console.log(c); // Output: 15

Những toán tử này rất hữu ích cho việc thiết lập giá trị mặc định hoặc cập nhật biến điều kiện.

Và thế là xong! Chúng ta đã khám phá thế giới của các toán tử gán trong JavaScript. Nhớ rằng, thực hành là cách tốt nhất để trở nên thành thạo. Hãy thử sử dụng các toán tử này trong mã của riêng bạn, và sớm thôi chúng sẽ trở thành thói quen thứ hai. Chúc các bạn may mắn, các nhà lập trình tương lai!

Credits: Image by storyset