Toán tử là gì?
Chúng ta hãy xét một biểu thức đơn giản 4 + 5 bằng 9 . Ở đây 4 và 5 được gọi là toán hạng và ‘+’ được gọi là toán tử . JavaScript hỗ trợ các loại toán tử sau.
- toán tử số học
- Toán tử so sánh
- Toán tử logic (hoặc quan hệ)
- Toán tử gán
- Toán tử có điều kiện (hoặc ternary)
Chúng ta hãy xem từng toán tử một.
toán tử số học
JavaScript hỗ trợ các toán tử số học sau –
Giả sử biến A giữ 10 và biến B giữ 20, sau đó –
STT. | Toán tử & Mô tả |
---|---|
1 | + (Bổ sung)
Cộng hai toán hạng Ví dụ: A + B sẽ cho 30 |
2 | – (Phép trừ)
Trừ toán hạng thứ hai từ toán hạng thứ nhất Ví dụ: A – B sẽ cho -10 |
3 | * (Phép nhân)
Nhân cả hai toán hạng Ví dụ: A * B sẽ cho 200 |
4 | / (Phân công)
Chia tử số cho mẫu số Vd: B/A sẽ cho 2 |
5 | % (Mô-đun)
Xuất ra phần còn lại của một phép chia số nguyên Ví dụ: B% A sẽ cho 0 |
6 | ++ (Gia tăng)
Tăng một giá trị số nguyên lên một Ví dụ: A++ sẽ cho 11 |
7 | — (Giảm)
Giảm một giá trị số nguyên đi một Ví dụ: A– sẽ cho 9 |
Lưu ý – Toán tử cộng (+) hoạt động cho Số cũng như Chuỗi. ví dụ: “a” + 10 sẽ cho “a10”.
Ví dụ 1
Đoạn mã sau cho biết cách sử dụng toán tử số học trong JavaScript.
<html> <body> <script type = "text/javascript"> <!-- var a = 33; var b = 10; var c = "Test"; var linebreak = "<br />"; document.write("a + b = "); result = a + b; document.write(result); document.write(linebreak); document.write("a - b = "); result = a - b; document.write(result); document.write(linebreak); document.write("a / b = "); result = a / b; document.write(result); document.write(linebreak); document.write("a % b = "); result = a % b; document.write(result); document.write(linebreak); document.write("a + b + c = "); result = a + b + c; document.write(result); document.write(linebreak); a = ++a; document.write("++a = "); result = ++a; document.write(result); document.write(linebreak); b = --b; document.write("--b = "); result = --b; document.write(result); document.write(linebreak); //--> </script> Set the variables to different values and then try... </body> </html>
Kết quả
a + b = 43 a - b = 23 a / b = 3.3 a % b = 3 a + b + c = 43Test ++a = 35 --b = 8 Set the variables to different values and then try...
Toán tử so sánh
JavaScript hỗ trợ các toán tử so sánh sau –
Giả sử biến A giữ 10 và biến B giữ 20, sau đó –
STT. | Toán tử & Mô tả |
---|---|
1 | = = (Bằng nhau)
Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu có thì điều kiện trở thành true. Ví dụ: (A == B) không đúng. |
2 | != (Không bình đẳng)
Kiểm tra xem giá trị của hai toán hạng có bằng nhau hay không, nếu không bằng nhau thì điều kiện trở thành true. Ví dụ: (A != B) là đúng. |
3 | > (Lớn hơn)
Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn giá trị của toán hạng bên phải hay không, nếu có thì điều kiện trở thành true. Ví dụ: (A > B) không đúng. |
4 | < (Ít hơn)
Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn giá trị của toán hạng bên phải hay không, nếu có, thì điều kiện trở thành đúng. Ví dụ: (A < B) là đúng. |
5 | >= (Lớn hơn hoặc Bằng)
Kiểm tra xem giá trị của toán hạng bên trái có lớn hơn hoặc bằng giá trị của toán hạng bên phải không, nếu có thì điều kiện trở thành true. Ví dụ: (A >= B) không đúng. |
6 | <= (Nhỏ hơn hoặc Bằng)
Kiểm tra xem giá trị của toán hạng bên trái có nhỏ hơn hoặc bằng giá trị của toán hạng bên phải không, nếu có thì điều kiện trở thành true. Ví dụ: (A <= B) là đúng. |
Ví dụ 2
Đoạn mã sau cho biết cách sử dụng các toán tử so sánh trong JavaScript.
<html> <body> <script type = "text/javascript"> <!-- var a = 10; var b = 20; var linebreak = "<br />"; document.write("(a == b) => "); result = (a == b); document.write(result); document.write(linebreak); document.write("(a < b) => "); result = (a < b); document.write(result); document.write(linebreak); document.write("(a > b) => "); result = (a > b); document.write(result); document.write(linebreak); document.write("(a != b) => "); result = (a != b); document.write(result); document.write(linebreak); document.write("(a >= b) => "); result = (a >= b); document.write(result); document.write(linebreak); document.write("(a <= b) => "); result = (a <= b); document.write(result); document.write(linebreak); //--> </script> Set the variables to different values and different operators and then try... </body> </html>
Kết quả
(a == b) => false (a < b) => true (a > b) => false (a != b) => true (a >= b) => false a <= b) => true Set the variables to different values and different operators and then try...
Toán tử logic
JavaScript hỗ trợ các toán tử logic sau –
Giả sử biến A giữ 10 và biến B giữ 20, sau đó –
STT. | Toán tử & Mô tả |
---|---|
1 | && (Logic VÀ)
Nếu cả hai toán hạng khác không, thì điều kiện trở thành đúng. Ví dụ: (A && B) là đúng. |
2 | || (Hợp lý HOẶC)
Nếu bất kỳ trong hai toán hạng khác không, thì điều kiện trở thành đúng. Ví dụ: (A || B) là đúng. |
3 | ! (Hợp lý KHÔNG)
Đảo ngược trạng thái logic của toán hạng của nó. Nếu một điều kiện là đúng, thì toán tử Logical NOT sẽ biến nó thành sai. Ví dụ: ! (A && B) là sai. |
Ví dụ 3
Hãy thử đoạn mã sau để tìm hiểu cách triển khai Toán tử logic trong JavaScript.
<html> <body> <script type = "text/javascript"> <!-- var a = true; var b = false; var linebreak = "<br />"; document.write("(a && b) => "); result = (a && b); document.write(result); document.write(linebreak); document.write("(a || b) => "); result = (a || b); document.write(result); document.write(linebreak); document.write("!(a && b) => "); result = (!(a && b)); document.write(result); document.write(linebreak); //--> </script> <p>Set the variables to different values and different operators and then try...</p> </body> </html>
Kết quả
(a && b) => false (a || b) => true !(a && b) => true Set the variables to different values and different operators and then try...
toán tử Bitwise
JavaScript hỗ trợ các toán tử theo bit sau –
Giả sử biến A giữ 2 và biến B giữ 3, sau đó –
STT. | Toán tử & Mô tả |
---|---|
1 | & (Bitwise AND)
Nó thực hiện thao tác Boolean AND trên từng bit của các đối số nguyên của nó. Ví dụ: (A & B) là 2. |
2 | | (BitWise HOẶC)
Nó thực hiện thao tác Boolean OR trên từng bit của các đối số nguyên của nó. Ví dụ: (A | B) là 3. |
3 | ^ (Bitwise XOR)
Nó thực hiện phép toán OR độc quyền Boolean trên mỗi bit của các đối số nguyên của nó. OR độc quyền có nghĩa là toán hạng một là đúng hoặc toán hạng hai là đúng, nhưng không phải cả hai. Ví dụ: (A ^ B) là 1. |
4 | ~ (Bitwise Không)
Nó là toán tử một ngôi và hoạt động bằng cách đảo ngược tất cả các bit trong toán hạng. Ví dụ: (~B) là -4. |
5 | << (Dịch chuyển trái)
Nó di chuyển tất cả các bit trong toán hạng thứ nhất sang trái theo số vị trí được chỉ định trong toán hạng thứ hai. Các bit mới được lấp đầy bằng số không. Việc dịch chuyển một giá trị sang trái một vị trí tương đương với việc nhân nó với 2, dịch chuyển hai vị trí tương đương với việc nhân với 4, v.v. Ví dụ: (A << 1) là 4. |
6 | >> (Ca phải)
Toán tử dịch phải nhị phân. Giá trị của toán hạng bên trái được di chuyển sang phải theo số bit được chỉ định bởi toán hạng bên phải. Ví dụ: (A >> 1) là 1. |
7 | >>> (Chuyển sang phải với Zero)
Toán tử này giống như toán tử >>, ngoại trừ việc các bit được chuyển sang bên trái luôn bằng 0. Ví dụ: (A >>> 1) là 1. |
Ví dụ 4
Hãy thử đoạn mã sau để triển khai toán tử Bitwise trong JavaScript.
<html> <body> <script type = "text/javascript"> <!-- var a = 2; // Bit presentation 10 var b = 3; // Bit presentation 11 var linebreak = "<br />"; document.write("(a & b) => "); result = (a & b); document.write(result); document.write(linebreak); document.write("(a | b) => "); result = (a | b); document.write(result); document.write(linebreak); document.write("(a ^ b) => "); result = (a ^ b); document.write(result); document.write(linebreak); document.write("(~b) => "); result = (~b); document.write(result); document.write(linebreak); document.write("(a << b) => "); result = (a << b); document.write(result); document.write(linebreak); document.write("(a >> b) => "); result = (a >> b); document.write(result); document.write(linebreak); //--> </script> <p>Set the variables to different values and different operators and then try...</p> </body> </html>
(a & b) => 2 (a | b) => 3 (a ^ b) => 1 (~b) => -4 (a << b) => 16 (a >> b) => 0 Set the variables to different values and different operators and then try...
Toán tử gán
JavaScript hỗ trợ các toán tử gán sau đây –
STT. | Toán tử & Mô tả |
---|---|
1 | = (Bài tập đơn giản )
Gán các giá trị từ toán hạng bên phải sang toán hạng bên trái Ví dụ: C = A + B sẽ gán giá trị của A + B cho C |
2 | += (Thêm và gán)
Nó thêm toán hạng bên phải vào toán hạng bên trái và gán kết quả cho toán hạng bên trái. Ví dụ: C += A tương đương với C = C + A |
3 | −= (Trừ và Phép gán)
Nó trừ toán hạng bên phải từ toán hạng bên trái và gán kết quả cho toán hạng bên trái. Ví dụ: C -= A tương đương với C = C – A |
4 | *= (Nhân và Phép gán)
Nó nhân toán hạng bên phải với toán hạng bên trái và gán kết quả cho toán hạng bên trái. Ví dụ: C *= A tương đương với C = C * A |
5 | /= (Chia và gán)
Nó chia toán hạng bên trái với toán hạng bên phải và gán kết quả cho toán hạng bên trái. Ví dụ: C /= A tương đương với C = C / A |
6 | %= (Mô-đun và Bài tập)
Nó lấy mô đun bằng cách sử dụng hai toán hạng và gán kết quả cho toán hạng bên trái. Ví dụ: C %= A tương đương với C = C % A |
Lưu ý – Logic tương tự áp dụng cho các toán tử Bitwise nên chúng sẽ trở thành <<=, >>=, >>=, &=, |= và ^=.
Ví dụ 5
Hãy thử đoạn mã sau để triển khai toán tử gán trong JavaScript.
<html> <body> <script type = "text/javascript"> <!-- var a = 33; var b = 10; var linebreak = "<br />"; document.write("Value of a => (a = b) => "); result = (a = b); document.write(result); document.write(linebreak); document.write("Value of a => (a += b) => "); result = (a += b); document.write(result); document.write(linebreak); document.write("Value of a => (a -= b) => "); result = (a -= b); document.write(result); document.write(linebreak); document.write("Value of a => (a *= b) => "); result = (a *= b); document.write(result); document.write(linebreak); document.write("Value of a => (a /= b) => "); result = (a /= b); document.write(result); document.write(linebreak); document.write("Value of a => (a %= b) => "); result = (a %= b); document.write(result); document.write(linebreak); //--> </script> <p>Set the variables to different values and different operators and then try...</p> </body> </html>
Kết quả
Value of a => (a = b) => 10 Value of a => (a += b) => 20 Value of a => (a -= b) => 10 Value of a => (a *= b) => 100 Value of a => (a /= b) => 10 Value of a => (a %= b) => 0 Set the variables to different values and different operators and then try...
Toán tử Miscellaneous
Chúng ta sẽ thảo luận về hai toán tử ở đây khá hữu ích trong JavaScript: toán tử điều kiện (? 🙂 và toán tử typeof .
Điều hành có điều kiện (? 🙂
Toán tử điều kiện trước tiên đánh giá một biểu thức cho giá trị đúng hoặc sai, sau đó thực hiện một trong hai câu lệnh đã cho tùy thuộc vào kết quả đánh giá.
STT. | Toán tử và Mô tả |
---|---|
1 | ? : (Có điều kiện )
Nếu Điều kiện là đúng? Sau đó, giá trị X : Nếu không, giá trị Y |
Ví dụ 6
Hãy thử đoạn mã sau để hiểu cách hoạt động của Toán tử có điều kiện trong JavaScript.
<html> <body> <script type = "text/javascript"> <!-- var a = 10; var b = 20; var linebreak = "<br />"; document.write ("((a > b) ? 100 : 200) => "); result = (a > b) ? 100 : 200; document.write(result); document.write(linebreak); document.write ("((a < b) ? 100 : 200) => "); result = (a < b) ? 100 : 200; document.write(result); document.write(linebreak); //--> </script> <p>Set the variables to different values and different operators and then try...</p> </body> </html>
Kết quả
((a > b) ? 100 : 200) => 200 ((a < b) ? 100 : 200) => 100 Set the variables to different values and different operators and then try...
Toán tử TypeOf
Toán tử typeof là một toán tử đơn hạng được đặt trước toán hạng đơn của nó, có thể thuộc bất kỳ loại nào. Giá trị của nó là một chuỗi cho biết kiểu dữ liệu của toán hạng.
Toán tử typeof đánh giá thành “số”, “chuỗi” hoặc “boolean” nếu toán hạng của nó là một số, chuỗi hoặc giá trị boolean và trả về đúng hoặc sai dựa trên đánh giá.
Dưới đây là danh sách các giá trị trả về cho toán tử typeof .
Loại | Chuỗi được trả về bởi typeof |
---|---|
Con số | “con số” |
Chuỗi | “chuỗi” |
Boolean | “boolean” |
Vật | “vật” |
Chức năng | “chức năng” |
Không xác định | “không xác định” |
Vô giá trị | “vật” |
Ví dụ 7
Đoạn mã sau chỉ ra cách triển khai toán tử typeof .
<html> <body> <script type = "text/javascript"> <!-- var a = 10; var b = "String"; var linebreak = "<br />"; result = (typeof b == "string" ? "B is String" : "B is Numeric"); document.write("Result => "); document.write(result); document.write(linebreak); result = (typeof a == "string" ? "A is String" : "A is Numeric"); document.write("Result => "); document.write(result); document.write(linebreak); //--> </script> <p>Set the variables to different values and different operators and then try...</p> </body> </html>
Kết quả
Result => B is String Result => A is Numeric Set the variables to different values and different operators and then try...