JavaScript Các Kiểu Dữ Liệu Số

Trong JavaScript, số (numbers) là một kiểu dữ liệu quan trọng, được dùng để biểu diễn cả số nguyên và số thập phân. Dưới đây là chi tiết các kiểu và đặc điểm liên quan đến số trong JavaScript:
Mục lục

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

About the Author

Tin liên quan

Tin liên quan