Trong JavaScript, Infinity đại diện cho giá trị vô cực toán học. Có hai giá trị:
Infinity(dương) - vượt quá số lớn nhất có thể biểu diễn-Infinity(âm) - vượt quá số nhỏ nhất (lớn theo giá trị tuyệt đối)
Các phép toán dẫn đến Infinity:
- Chia số khác 0 cho 0:
1/0 = Infinity,-1/0 = -Infinity - Vượt quá giới hạn số:
Number.MAX_VALUE * 2 = Infinity - Phép toán trên chính Infinity:
Infinity + 1 = Infinity
Ví dụ minh họa
<!DOCTYPE html>
<html lang="vi">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>JavaScript Infinity</title>
<style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
.num { font-size: 18px; font-weight: 500; margin: 10px 0; font-family: monospace; }
button { padding: 8px 16px; cursor: pointer; }
</style>
</head>
<body>
<h1>JavaScript Infinity Property</h1>
<div class="num" id="num1">1.797693134862315E+308</div>
<div class="num" id="num2">-1.797693134862315E+308</div>
<button class="Btn" id="btn">NHẤN VÀO ĐÂY</button>
<h3> Nhấn nút để cộng/trừ 1 vào các số lớn nhất </h3>
<script>
const num1 = document.querySelector("#num1");
const num2 = document.querySelector("#num2");
document.querySelector("#btn").addEventListener("click", () => {
// Cộng 1 vào số dương lớn nhất -> thành Infinity
num1.innerHTML = +num1.innerHTML + 1; // Number.MAX_VALUE + 1 = Infinity
// Trừ 1 từ số âm lớn nhất -> thành -Infinity
num2.innerHTML = +num2.innerHTML - 1; // -Number.MAX_VALUE - 1 = -Infinity
});
</script>
</body>
</html>
Kết quả
Ban đầu hiển thị Number.MAX_VALUE và -Number.MAX_VALUE. Khi nhấn nút:
Infinity -Infinity
Kiểm tra Infinity:
Number.isFinite(Infinity) // false
Number.isFinite(123) // true
isFinite(Infinity) // false (global isFinite)
Infinity === Infinity // true
-Infinity === -Infinity // true
Infinity > 1e308 // true
Các hằng số liên quan:
Number.MAX_VALUE // ~1.79e+308 (số hữu hạn lớn nhất)
Number.MIN_VALUE // ~5e-324 (số dương nhỏ nhất > 0)
Number.MAX_SAFE_INTEGER // 2^53 - 1 = 9007199254740991
Number.MIN_SAFE_INTEGER // -(2^53 - 1)
Number.POSITIVE_INFINITY // Infinity
Number.NEGATIVE_INFINITY // -Infinity
Ứng dụng: Kiểm tra tràn số, thuật toán tìm min/max (khởi tạo max = -Infinity, min = Infinity).