I Khái quát về toán tử trong javascript
Trong javascript có các 10 loại toán tử như bên dưới.
- Toán tử gán
- Toán tử so sánh
- Toán tử số học
- Toán tử thao tác bit
- Toán tử logic
- Toán tử chuỗi
- Toán tử điều kiện (ba ngôi)
- Toán tử phẩy
- Toán tử một ngôi
- Toán tử quan hệ
Tuyển kỹ sư cầu nối lương upto $2500
Tuyển lập trình viên mobile lương upto $1500
Nhưng trong bài này mình sẽ tập trung giới thiệu một số toán tử chúng ta hay sử dụng: toán tử gán, toán tử so sánh, toán tử sổ học, toán tử logic, toán tử chuỗi, toán tử điều kiện, toán tử một ngôi(typeof)
Các kiểu dữ liệu trong javascript
II Chi tiết một số toán tử hay sử dụng
1) Toán tử gán
Toán tử gán nghĩa là giá trị toán hạng bên trái được gán theo giá trị của toán hạng bên phải nó.
Toán tử |
Viết tắt |
ý nghĩa |
x = y |
x = y |
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 |
**= |
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 |
|= |
x |= y |
x = x | y |
2) Toán tử so sánh
-
- Toán tử so sánh sẽ thực hiện so sánh 2 toán hạng của nó là và trả về giá logic là true hoặc false, dựa theo tính đúng sai của phép so sánh.
- Toán hạng có thể là số, chuỗi, logic, hoặc object.
- Khi so sánh chuỗi thì sẽ so sánh theo thứ tự từ điển, qua giá trị mã Unicode.
- Trong nhiều trường hợp khi so sánh hai toán tử không cùng kiểu javascript sẽ tự ép kiểu để so sánh.
- Nếu chúng ta sử dụng 2 toán tử === và !== này thì java script sẽ không thực ép kiểu. 2 toán tử này ngoài check giá trị còn check thêm kiểu, kể cả cùng giá trị mà khác kiểu vẫn trả về false.
Lưu ý việc sử 2 cặp toán tử bên dưới là khác nhau:
==, != So sánh mà không kiểm tra kiểu dữ liệu
===, !== So sánh với kiểm tra kiểu kiểu dữ liệu
Toán tử | Mô tả | Ví dụ |
== | Trả về true nếu các toán hạng bằng nhau | a = 3; b =3;
a==b; // trả về true |
=== |
Trả về true nếu các toán hạng bằng nhau và cùng kiểu |
a=3; b =’3′;
a===b;// trả về false vì khác kiểu |
!= |
Trả về true nếu các toán hạng không bằng nhau | x = 1; y = 2
x != y // trả về true |
!== |
Trả về true nếu các toán hạng không bằng nhau hoặc khác kiểu |
x = true; y=’true’
x !== y //sẽ trả về true vì khác kiểu |
> |
Trả về true nếu toán hạng bên trái lớn hơn toán hạng bên phải. |
x = 8; y =2;
x > y //trả về true |
>= |
Trả về true nếu toán hạng bên trái lớn hơn hoặc bằng toán hạng bên phải. | x = 3; y = 3
x >= y; // trả về true |
< |
Trả về true nếu toán hạng bên trái nhỏ hơn toán hạng bên phải |
x = 3; y = 5
x < y; // trả về true |
<= |
Trả về true nếu toán hạng bên trái nhỏ hơn hoặc bằng toán hạng bên phải |
x = 6;
x <= 6; //trả về true |
Đôi khi chúng ta không biết tại sao khi so sánh trong javascript nó lại trả về kết quả như vậy. Thực tế thì là do nếu kiểu data không giống nhau thì javascript sẽ convert data thành kiểu Number trước khi so sánh.
Chúng ta hãy chú ý tới một số trường hợp khi so sánh trong javascript nhé.
1. ” == ‘0’ // false
2. 0 == ” // true
3. 0 == ‘0’ // true
4. false == ‘false’ // false
5. false == ‘0’ // true
6. false == undefined // false
7. false == null // false
8. null == undefined // true
9. ‘ \t\r\n ‘ == 0 // true
10. let a = 0, b = “0”;
Boolean(a) // false
Boolean(b) // true
a == b // true
11. false == “0” // true (false is converted to 0, “0” is converted to 0)
12. true == “1” // true (true is converted to 1, “1” is converted to 1)
13. true == “2” // false
3. Toán tử số học
Toán tử số học thực hiện trên các toán hạng kiểu số và trả lại kiểu số.
Toán tử |
Mô tả |
Ví dụ |
+ |
phép cộng |
2 + 3 = 5 |
– |
phép trừ |
9 – 7 = 2 |
* |
phép nhân |
6*8 = 48 |
/ |
phép chia |
35 / 7 = 5 |
% |
lấy phần dư của phép chia |
7 % 3 = 1 |
++ |
Tăng thêm 1 |
var x = 1; x ++; //giá trị x là 2 |
— |
giảm đi 1 |
var x = 1; x –; //giá trị x là 0 |
4. Toán tử logic
Toán tử logic bao gồm 3 toán tử như bên dưới.
Toán tử |
Cách dùng |
Mô tả |
AND (&&) |
expr1 && expr2 |
Trả về true khi expr1 và expr2 đều có giá trị là true |
OR (||) |
expr1 || expr2 | Trả về true khi expr1 hoặc expr2 có giá trị là true |
NOT (!) |
!expr | Phủ định, trả lại giá trị ngược với giá trị của biểu thức. |
Ví dụ:
var a= 8; b = 4; x= 1;
y = (a>b) && (x <4) //y sẽ trả về giá trị true
z = (a <b) || (x<4) // z trả về true vì x< 4 trả về true
v = !(x< 4) // v trả về false vì x< 4 trả về true
5) Toán tử chuỗi
Toán tử ghép (+) ghép hai giá trị chuỗi lại với nhau, trả về một chuỗi mới bao gồm nội dung hai chuỗi cũ.
Ví dụ:
var a = “spring is come.”;
var b = ” I like spring season ”;
z = a + b //z =”spring is come.I like spring season”;
Toán tử gán rút gọn += cũng có thể dùng để ghép chuỗi.
Ví dụ
var a = “I like to draw” ;
a+=”and I like to do exercise”; // a sẽ có kết quả là “I like to draw and I like to do exercise”
6) Toán tử điều kiện(toán tử ba ngôi)
Toán tử điều kiện là toán tử duy nhất trong javascript có 3 toán hạng.
Cú pháp như bên dưới.
Condition ? value1: value2
Nếu điều kiện trả về true, thì toán tử có giá trị là value1, ngược lại trả về false thì toán tử có giá trị là value2;
Ví dụ:
var check = 1;
a = (check === 1) ? ”pass” : “fail”;// a có giá trị là “pass”
7) Toán tử một ngôi(typeof)
Ở đây mình chỉ giới thiệu toán tử typeof, vì toán tử này rất hay dùng để check kiểu dữ liệu
Ví dụ
var count = 1;
typeof count // trả về kiểu number
var date = new Date();
typeof date // trả về kiểu Object
Leave a Reply