Number.isFinite()

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 2015 年 9 月以來,該特性已在各大瀏覽器中可用。

Number.isFinite() 靜態方法用於判斷傳入的值是否是一個有限數字(finite number)——即,它檢查一個給定的值是數字,並且這個數字既不是正無窮(positive Infinity)、負無窮(negative Infinity),也不是非數字(NaN)。

試一試

console.log(Number.isFinite(1 / 0));
// Expected output: false

console.log(Number.isFinite(10 / 5));
// Expected output: true

console.log(Number.isFinite(0 / 0));
// Expected output: false

語法

js
Number.isFinite(value)

引數

value

待測試有限性的值。

返回值

如果給定的值是有限數字,則返回布林值 true。否則返回 false

示例

使用 isFinite()

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

Number.isFinite(0); // true
Number.isFinite(2e64); // true

Number.isFinite() 與全域性 isFinite() 的區別

與全域性的 isFinite() 函式相比,此方法不會先將引數轉換為數字。這意味著只有型別為 number *並且* 是有限的值才會返回 true,而非數字型別的值始終返回 false

js
isFinite("0"); // true; coerced to number 0
Number.isFinite("0"); // false
isFinite(null); // true; coerced to number 0
Number.isFinite(null); // false

規範

規範
ECMAScript® 2026 語言規範
# sec-number.isfinite

瀏覽器相容性

另見