isFinite()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Hàm isFinite() xác định xem một giá trị có phải là hữu hạn không, trước tiên chuyển đổi giá trị thành số nếu cần. Một số hữu hạn là số không phải NaN hay ±Infinity. Vì việc ép kiểu bên trong hàm isFinite() có thể gây bất ngờ, bạn có thể thích dùng Number.isFinite() hơn.

Try it

function div(x) {
  if (isFinite(1000 / x)) {
    return "Number is NOT Infinity.";
  }
  return "Number is Infinity!";
}

console.log(div(0));
// Expected output: "Number is Infinity!""

console.log(div(1));
// Expected output: "Number is NOT Infinity."

Cú pháp

js
isFinite(value)

Tham số

value

Giá trị cần kiểm tra.

Giá trị trả về

false nếu giá trị đã cho là NaN, Infinity, hoặc -Infinity sau khi chuyển đổi thành số; nếu không, true.

Mô tả

isFinite() là thuộc tính hàm của đối tượng toàn cục.

Khi đối số của hàm isFinite() không thuộc kiểu Number, giá trị trước tiên bị ép thành số, và giá trị kết quả sau đó được so sánh với NaN và ±Infinity. Điều này cũng gây nhầm lẫn như hành vi của isNaN — ví dụ, isFinite("1")true.

Number.isFinite() là cách đáng tin cậy hơn để kiểm tra xem một giá trị có phải là số hữu hạn không, vì nó trả về false cho bất kỳ đầu vào nào không phải số.

Ví dụ

Dùng isFinite()

js
isFinite(Infinity); // false
isFinite(NaN); // false
isFinite(-Infinity); // false

isFinite(0); // true
isFinite(2e64); // true
isFinite(910); // true

// Would've been false with the more robust Number.isFinite():
isFinite(null); // true
isFinite("0"); // true

Đặc tả kỹ thuật

Specification
ECMAScript® 2027 Language Specification
# sec-isfinite-number

Tương thích trình duyệt

Xem thêm