Javascript - Các phép toán
Các toán tử trong Javascript
Các JavaScript là các ký hiệu được sử dụng để thực hiện các toán tử trên các toán hạng.
var sum=10+20;
Dấu "+" là toán tử cộng, dấu "=" là toán tử gán.
Các kiểu toán tử trong Javascript
- Toán tử Số học
- Toán tử so sánh
- Toán tử dịch bit
- Toán tử điều khiển logic
- Toán tử đặc biệt
1. toán tử Số học
Toán tử số học được sử dụng để thực hiện các phép tính số học trên các toán hạng. Các toán tử sau đây được gọi là các toán tử số học JavaScript.
Toán tử | Giải thích | Ví dụ | Kết quả |
---|---|---|---|
+ | Cộng | 10+20 | 30 |
- | Trừ | 20-10 | 10 |
* | Nhân | 10*20 | 200 |
/ | Chia | 20/10 | 2 |
% | Chia lấy dư | 20%10 | 0 |
++ | Tăng 1 đơn vị | var a=10; a++; | 11 |
-- | Giảm 1 đơn vị | var a=10; a--; | 9 |
2. Các toán tử so sánh
toán tử so sánh JavaScript dùng để so sánh hai toán hạng. Dưới đây là các toán tử so sánh:
Toán tử | Giải thích | Ví dụ | Kết quả |
---|---|---|---|
== | So sánh bằng | 10==20 | false |
=== | So sánh bằng và cùng kiểu dữ liệu | 10==20 | false |
!= | So sánh không bằng | 10!=20 | true |
!== | So sánh không bằng và cùng kiểu dữ liệu | 20!==20 | false |
> | Lớn hơn | 20>10 | true |
>= | Lớn hơn hoặc bằng | 20>=10 | true |
< | Nhỏ hơn | 20<10 | false |
<= | Nhỏ hơn hoặc bằng | 20<=10 | false |
3. Các toán tử được thực hiện trên các Bit
Các Toán tử bit được thực hiện trên các toán hạng. Dưới bảng các Toán tử trên bit
Toán tử | Giải thích | Ví dụ | Kết quả |
---|---|---|---|
& | AND | (10==20 & 20==33) | false |
| | OR | (10==20 | 20==33) | false |
^ | XOR | (10==20 ^ 20==33) | false |
~ | NOT (phủ định) | (~10) | -10 |
<< | Dịch trái | (10<<2) | 40 |
>> | Dịch phải | (10>>2) | 2 |
>>> | Bitwise Right Shift with Zero | (10>>>2) | 2 |
4. Các toán tử logic
Dưới đây là bảng Toán tử logic.
Toán tử | Tên | Ví dụ | Kết quả |
---|---|---|---|
! | Phủ định | !5 | 0 |
&& | Phép và | 5 > 4 && 5 > 6 | 0 |
|| | Phép hoặc | 5 > 4 || 5 > 6 | 1 |
5. Các toán tử gán
Dưới đây là Toán tử gán
Toán tử | Ví dụ | Tương đương với |
---|---|---|
= | x = 5 | Gán 5 cho x |
+= | x += 5 | x = x + 5 |
-= | x -= 5 | x = x – 5 |
*= | x *= 5 | x = x * 5 |
/= | x /= 5 | x = x / 5 |
%= | x %= 5 | x = x % 5 |
Các toán tử đặt biệt
5. Toán tử typeof
Toán tử typeof trả về kiểu dữ liệu của biến, đối tượng, hàm hoặc biểu thức.
typeof "John" // Returns string
typeof 3.14 // Returns number
typeof NaN // Returns number
typeof false // Returns boolean
typeof [1, 2, 3, 4] // Returns object
typeof {name:'John', age:34} // Returns object
typeof new Date() // Returns object
typeof function () {} // Returns function
typeof myCar // Returns undefined (if myCar is not declared)
typeof null // Returns object
Từ ví dụ ta có thể thấy:
- Kiểu dữ liệu của NaN là number.
- Kiểu dữ liệu của array là object.
- Kiểu dữ liệu của null là object.
- Kiểu dữ liệu của một đối tượng ngày tháng là object.
- Kiểu dữ liệu của biến chưa xác định là undefined.
6. Toán tử delete
Toán tử delete dùng để xóa thuộc tính của đối tượng
- Toán tử delete sẽ xóa cả giá trị của thuộc tính và chính thuộc tính đó, thuộc tính đã bị xóa sẽ không thể được sử dụng trước khi được thêm lại vào đối tượng.
- Toán tử delete được thiết kế để sử dụng với một thuộc tính của đối tượng do đó nó sẽ không có hiệu quả đối với biến hoặc hàm.
- Toán tử delete không nên được sử dụng đối với thuộc tính được khai báo trước của đối tượng Javascript, nó có thể khiến chương trình của bạn bị lỗi.
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
delete person.age; // or delete person["age"];
7. Toán tử in
Toán tử in trả về true nếu thuộc tính đang sử dụng nằm trong đối tượng đang sử dụng, ngược lại false:
// Arrays
var cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars // Returns false (specify the index number instead of value)
0 in cars // Returns true
1 in cars // Returns true
4 in cars // Returns false (does not exist)
"length" in cars // Returns true (length is an Array property)
// Objects
var person = {firstName:"John", lastName:"Doe", age:50};
"firstName" in person // Returns true
"age" in person // Returns true
// Predefined objects
"PI" in Math // Returns true
"NaN" in Number // Returns true
"length" in String // Returns true
8. Toán tử instaceof
Toán tử instanceof trả về true nếu đối tượng được đang sử dụng là một thể hiện của đối tượng đang sử dụng:
var cars = ["Saab", "Volvo", "BMW"];
cars instanceof Array; // Returns true
cars instanceof Object; // Returns true
cars instanceof String; // Returns false
cars instanceof Number; // Returns false
9. Toán tử void
The void Operator sẽ thực hiện một câu lệnh hay một biểu thức và trả về Fasle. Ví dụ sử dụng void(0) trong thẻ a để vô hiệu hóa link tránh việc tải lại trang.
<a href="javascript:void(0);">
Useless link
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
Click me to change the background color of body to red
</a>