Dữ liệu kiểu số
Không giống như các ngôn ngữ lập trình khác, JavaScript chỉ có một kiểu dữ liệu cho các số, Number
. Điều này có nghĩa là bất kỳ loại số nào cũng được xử lý theo cùng một cách trong JavaScript.
Ví dụ
Chúng ta hãy khai báo một vài biến và khởi tạo chúng với một số nguyên và một float, tương ứng, sau đó nhập các tên biến trở lại để kiểm tra xem mọi thứ có theo thứ tự hay không:
var myInt = 5; var myFloat = 6.667; myInt; myFloat;
Các giá trị số được nhập vào mà không có dấu ngoặc kép – hãy thử khai báo và khởi tạo thêm một vài biến chứa số trước khi bạn tiếp tục.
Bây giờ chúng ta hãy kiểm tra xem cả hai biến ban đầu của chúng ta có cùng kiểu dữ liệu hay không. Có một toán tử gọi là typeof
trong JavaScript thực hiện điều này. Nhập hai dòng dưới đây như sau:
typeof myInt; typeof myFloat;
Bạn sẽ nhận được giá trị là “number
” được trả lại trong cả hai trường hợp – điều này làm cho mọi thứ trở nên dễ dàng hơn rất nhiều so với các số khác nhau có các kiểu dữ liệu khác nhau và không phải xử lý chúng theo nhiều cách khác nhau.
Toán tử số học
Trong JavaScript, chúng ta có các toán tử cơ bản cho kiểu dữ liệu số
Toán tử | Tên | Nhiệm vụ | Ví dụ |
+ | Cộng | Cộng hai số với nhau. | 6 + 9 |
– | Trừ | Trừ hai số với nhau. | 20 – 15 |
* | Nhân | Nhân hai số với nhau. | 3 * 7 |
/ | Chia | Chia số bên trái cho số bên phải . | 10 / 5 |
% | Chia lấy phần dư (đôi khi được gọi là modulo) | Trả về số nguyên là phần dư của phép chia số trái cho số phải. | 8 % 3 (trả về 2) |
Ví dụ
Trước tiên, hãy thử nhập một số ví dụ đơn giản của riêng bạn, chẳng hạn như
10 + 7 9 * 8 60 % 3
Bạn cũng có thể thử khai báo và khởi tạo các biến và thử kết hợp với các toán tử
var num1 = 10; var num2 = 50; 9 * num1; num2 / num1; 5 + 10 * 3; num2 % 9 * num1; num2 + num1 / 8 + 2;
Thứ tự ưu tiên
Thứ tự ưu tiên của toán tử trong JavaScript giống như các ngôn ngữ khác:
- Phép tính trong dấu ngoặc tròn trước
- Nhân và chia được thực hiện trước, sau đó cộng và trừ
- Tổng số luôn được tính toán từ trái sang phải.
Ví dụ:
50 + 10 / 8 + 2;
Thứ tự thực hiện
50 + 10 / 8 + 2 = 50 + 1.25 + 2 //phép toán 10/8 được thực hiện trước = 1.25 = 51.25 + 2 = 53.25
Ví dụ 2:
(50 + 10) / (8 + 2);
Thứ tự thực hiện
(50 + 10) / (8 + 2) = 60 / 10 = 6
Toán tử tăng và giảm
Tương tự như trong C/C++, ta có toán tử ++
và --
. Toán tử này được thường sử dụng nhất trong câu lệnh vòng lặp.
Toán tử | Tên | Nhiệm vụ | Ví dụ |
++ | Toán tử tăng. | Cộng 1 vào số hiện tại | 6++ cho kết quả là 7 |
— | Toán tử giảm | Trừ 1 vào số hiện tại. | 6– cho kết quả là 5 |
Ví dụ:
var num1 = 4; num1++;
Toán tử gán
Toán tử gán dùng gán giá trị cho biến. Nó chỉ đơn giản gán giá trị bên phải cho một biến ở bên trái.
Toán tử | Tên | Nhiệm vụ | Ví dụ |
= | Toán tử gán. | Gán giá trị cho biến | x = 6 |
var x = 3; // x chứa giá trị 3 var y = 4; // y chứa giá trị 4 x = y; // bây giờ x chứa giá trị của y, là 4
Có một số loại phức tạp hơn, cung cấp các phím tắt hữu ích để giữ cho đoạn mã của bạn gọn gàng hơn và hiệu quả hơn. Phổ biến nhất được liệt kê dưới đây:
Toán tử | Tên | Ví dụ | Mã lệnh tương đương |
+= | Cộng giá trị hiện tại thêm một đại lượng. |
x = 3; x += 4; |
x = 3; x = x + 4; |
-= | Trừ giá trị hiện tại bớt một đại lượng |
x = 6; x -= 3; |
x = 6; x = x - 3; |
*= | Nhân giá trị hiện tại với một đại lượng |
x = 2; x *= 3; |
x = 2; x = x * 3; |
/= | Chia giá trị hiện tại với một đại lượng |
x = 10; x /= 5; |
x = 10; x = x / 5; |
Toán tử viết tắt | Ý nghĩa |
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 |
Toán tử so sánh
Toán tử | Tên | Nhiệm vụ | Ví dụ |
=== | So sánh bằng nghiêm ngặt | Kiểm tra xem các giá trị bên trái và bên phải có giống nhau hay không | 5 === 2 + 4 |
!== | So sánh khác nghiêm ngặt | Kiểm tra xem các giá trị bên trái và bên phải có khác nhau hay không | 5 !== 2 + 3 |
< | Nhỏ hơn | Kiểm tra xem giá trị bên trái có nhỏ hơn giá trị bên phải hay không. | 10 < 6 |
> | Lớn hơn | Kiểm tra xem giá trị bên trái có lớn hơn giá trị bên phải hay không. | 10 > 20 |
<= | Nhỏ hơn hoặc bằng | Kiểm tra xem giá trị bên trái có nhỏ hơn hoặc bằng giá trị bên phải hay không. | 3 <= 2 |
>= | Lớn hơn hoặc bằng | Kiểm tra xem giá trị bên trái có lớn hơn hoặc bằng giá trị bên phải hay không. | 5 >= 4 |
Tổng kết
Ngoài kiểu số, JS còn có kiểu ngày, kiểu chuỗi. Các bạn hãy đọc nó trong bài viết khác nhé.