Cơ bản về các biểu thức và toán tử trong Javascript, các toán tử js cần nắm vững ở đây là các toán tử số học, toán tử gán, toán tử so sánh, toán tử logic, các toán tử với chuỗi ...
- Toán tử gán
- Toán tử số học
- Toán tử so sánh
- Toán tử logic
- Toán tử với chuỗi
- Toán tử typeof
Toán tử gán được dùng để gán giá trị ở bên phải toán tử vào biến ở bên trái toán tử. Có các toán tử gán sau:
=
| x = y | gán giá trị y vào x |
+=
| x += y | x = x + y; cộng thêm vào x giá trị y |
-=
| x -= y | x = x - y |
*=
| x *= y | x = x * y |
/=
| x /= y | x = x / y |
%=
| x %= y | x = x % y |
??=
| x ??= y | Toán tử ??= trong js là phép gán khi null. Nếu x bằng null thì giá trị y gán cho x, nếu x đã khác null thì không thay đổi gì let your_name = "XUANTHULAB"; let your_addr = null; const name_default = "KHÔNG TÊN"; const add_default = "KHÔNG ĐỊA CHỈ"; your_name ??= name_default; console.log[your_name]; // "XUANTHULAB" your_addr ??= add_default; console.log[your_addr]; // "KHÔNG ĐỊA CHỈ" |
Toán tử ?? loại bỏ null [null coalescing] trong javascript
Toán tử ?? trả về biểu thức bên trái nếu nó khác null [undefined], trả về biểu thức bên phải nếu nó là null
var ketqua = biểu_thức_trái ?? biểu_thức_phải;
Biểu thức này nhằm đảm bảo một biến, biểu thức nhận giá trị khác null.
let your_name = null; let name_default = "KHÔNG TÊN"; let name = your_name ?? name_default; console.log[name]; // "KHÔNG TÊN" your_name = "XUANTHULAB"; name = your_name ?? name_default; console.log[name]; // "XUANTHULAB"
Các toán tử số học JS
Các toán tử số học này thực hiện trên các số - dữ liệu dạng số [giá trị cụ thể hoặc giá trị nằm trong tên biến].
+
| phép cộng | 25 + 5 = 30 |
-
| phép trừ | 10 - 5 = 5 |
*
| phép nhân | 2*3 = 6 |
/
| phép chia | 20 / 2 = 10 |
%
| lấy phần dư của phép chia | 56 / 3 = 2 |
++
| Tăng thêm 1 | var a = 10; a ++; //giá trị a là 11 |
--
| giảm đi 1 | var a = 10; a --; //giá trị a là 9 |
var x = 10 + 5; document.write[x]; // In ra: 15
Có thể sử dụng nhiều số hạng:
var x = 10; var y = x + 5 + 22 + 45 + 6548; document.write[y]; //In ra : 6630
Ví dụ về phép chia lấy phần dư modulus
var myVariable = 26 % 6; //myVariable bằng 2
Chú ý về phép toán tăng thêm 1 ++
và giảm 1 --
: Khi viết biểu thức thì toán tử có thể ở bên trước hoặc sau biến cần tăng giảm, kết quả trả về của biểu thức có sự khác nhau tùy cách viết
Viết sau biến như: a = var++
, b = var--
thì giá trị trả về của biểu thức [giá trị gán vào a, b] là giá trị gốc của var
, còn bản thân var
vẫn được tăng, giảm
var a = 0; b = 10; var a = b++; //a sẽ là 10; b là 11
Nếu toán tử ++
--
viết bên trái biến, thì giá trị biểu thức trả về chính là biến sau khi tăng giảm
var a = 0; b = 10; var a = ++b; //a sẽ là 11; b là 11
Toán tử so sánh trong JavaScript [JS]
Toán tử so sánh sử dụng trong các biểu thức về logic để so sánh bằng nhau, khác nhau. Nó trả về giá trị true
false
JavaScript có một số toán tử so sánh, ví dụ so sánh bằng: ==
var num = 10; // num == 8 will return false
Bảng toán tử so sánh
==
| so sánh bằng [và giá trị, không so sánh về kiểu dữ liệu] | var v1 = [5 == 10]; //
|
===
| === trong js so sánh giống nhau [true nếu cùng giá trị và kiểu dữ liệu] | var v1 = [5 === 10]; //
|
!=
| so sánh khác giá trị [dấu khác trong javascript chỉ so sánh và giá trị không xét đến kiểu] | var v1 = [5 != 10]; // true var v2 = [5 != "5"]; // false |
!==
| Khác giá trị và khác kiểu | var v1 = [5 !== 10]; // false - khác giá trị nhưng cùng kiểu var v2 = [5 !== "10"]; // true |
>
| lớn hơn | 10 > 5 true
|
>=
| lớn hơn hoặc bằng | 10 >= 5 true
|
2 là true, 10 > 15 là false;
//a = true && false;
Toán tử ba ngôi js - Toán tử điều kiệnvariable = [condition] ? value1: value2; Nhận giá trị if [condition] variable = value1; else variable = value2; var isAdult = [age < 18] ? "Too young": "Old enough"; //isAdult = "Too young" nếu age nhỏ hơn 18 //isAdult = "Old enough" nếu age lớn hơn hoặc bằng 18 Toán tử với chuỗi trong JSToán tử với chuỗi sử dụng nhiều là nối hai chuỗi lại với nhau, sử dụng toán tử var mystring1 = "Học viết mã "; var mystring2 = "JavaScript."; document.write[mystring1 + mystring2]; //sẽ viết ra: Học viết mã JavaScript. Xuất biến ra chuỗi với kỹ thuật Template Literal Một giá trị chuỗi bạn có thể viết để khởi tạo trong cặp dấu Tuy nhiên nếu bạn dùng `` thì trong chuỗi đó có thể chèn biểu thức với ký hiệu let tb = `Hai nhân hai là ${2*2}`; let name = "XuanThuLab"; let msg = `Xin chao ${name}`; console.log[tb]; // Hai nhân hai là 4 console.log[msg]; // Xin chao XuanThuLab Toán tử typeofToán tử var a = 1; var b = "Hi"; var c = true; var d = null; var e; console.log[typeof[a]]; // trả về number console.log[typeof[b]]; // trả về string console.log[typeof[c]]; // trả về boolean console.log[typeof[d]]; // trả về object console.log[typeof[e]]; // trả về undefined console.log[typeof[f]]; // trả về undefined Chủ Đề |