Website bị dính link xấu, link bẩn
JavaScript Các Kiểu Dữ Liệu Số
1. Các kiểu số cơ bản
JavaScript chỉ có một kiểu dữ liệu số cho tất cả các loại số: Number.
Số nguyên (Integer):
Số nguyên là số không có phần thập phân.
javascript
const num1 = 42; // Số nguyên dương const num2 = -7; // Số nguyên âm
Số thực (Floating-point):
Số thực là số có phần thập phân, lưu trữ dưới dạng dấu phẩy động.
javascript
const pi = 3.14159; // Số thực const negative = -123.456; // Số thực âm
2. Các giá trị đặc biệt của Number
- NaN (Not-a-Number): Biểu thị khi không thể chuyển đổi hoặc thực hiện phép tính không hợp lệ.
javascript
console.log('abc' * 2); // NaN
- Infinity: Đại diện cho số lớn hơn giới hạn của JavaScript.
javascript
console.log(1 / 0); // Infinity
- -Infinity: Đại diện cho số nhỏ hơn giới hạn âm.
javascript
console.log(-1 / 0); // -Infinity
3. Kiểu số BigInt
JavaScript cung cấp BigInt
để làm việc với các số nguyên rất lớn, vượt quá giới hạn của kiểu Number (khoảng ±(2^53 - 1)).
Cách sử dụng BigInt:
- Định nghĩa BigInt bằng cách thêm hậu tố
n
sau số:
javascript
const bigNum = 123456789012345678901234567890n; console.log(bigNum); // Output: 123456789012345678901234567890n
- Không thể sử dụng BigInt với các kiểu
Number
thông thường:
javascript
console.log(10n + 20n); // Hợp lệ console.log(10n + 20); // Lỗi
4. Các phương thức và hàm liên quan đến số
JavaScript cung cấp các phương thức và hàm để làm việc với số:
Phương thức của Number:
Number.isInteger(x)
: Kiểm tra xem số có phải là số nguyên.
javascript
console.log(Number.isInteger(25)); // true console.log(Number.isInteger(25.5)); // false
Number.isNaN(x)
: Kiểm tra xem giá trị có phải là NaN.
javascript
console.log(Number.isNaN('hello' / 2)); // true
Number.isFinite(x)
: Kiểm tra xem số có phải hữu hạn.
javascript
console.log(Number.isFinite(1000)); // true console.log(Number.isFinite(Infinity)); // false
Hàm toán học (Math):
Math.abs(x)
: Giá trị tuyệt đối.Math.round(x)
: Làm tròn số.Math.floor(x)
: Làm tròn xuống.Math.ceil(x)
: Làm tròn lên.Math.random()
: Sinh số ngẫu nhiên từ 0 đến < 1.Math.pow(a, b)
: Tính lũy thừa aba^bab.Math.sqrt(x)
: Tính căn bậc hai.
Ví dụ:
javascript
console.log(Math.abs(-5)); // Output: 5 console.log(Math.round(4.6)); // Output: 5 console.log(Math.random()); // Output: Một số ngẫu nhiên
5. Các giới hạn của số
- Giá trị nhỏ nhất và lớn nhất:
javascript
console.log(Number.MAX_VALUE); // Giá trị lớn nhất (1.7976931348623157e+308) console.log(Number.MIN_VALUE); // Giá trị dương nhỏ nhất (5e-324)
- Độ chính xác: JavaScript chỉ chính xác đến 15 chữ số. Khi vượt quá, số có thể bị mất chính xác:
javascript
console.log(0.1 + 0.2); // Không chính xác hoàn toàn: 0.30000000000000004
Để giải quyết, sử dụng các thư viện như Big.js
hoặc Decimal.js
.
Tóm tắt
Number
: Dùng cho số thông thường (số nguyên và số thập phân).BigInt
: Dùng khi cần số nguyên rất lớn.- Hỗ trợ nhiều phương thức tiện ích cho việc thao tác và tính toán số.
Xem thêm ví dụ trên Stackoverflow