關於 isFinite()
前言
在先前的 關於 Infinity 提到 Infinity , JavaScript 提供 isFinite() 確認是否有限,但用起來有點跟想的不一樣,在此把學習的過程做個紀錄。
內容
範例如下
console.log( Infinity === Number.POSITIVE_INFINITY );//true console.log( -Infinity === Number.NEGATIVE_INFINITY );//true // console.log( !isFinite( Infinity ) );//true console.log( !isFinite( Number.POSITIVE_INFINITY ) );//true console.log( !isFinite( NaN ) );//true // console.log( !Number.isFinite( Infinity ) );//true console.log( !Number.isFinite( NaN ) );//true
JavaScript 其實提供 Number.POSITIVE_INFINITY 與 Number.NEGATIVE_INFINITY 分別代表正無限與負無限,但感覺用起來不如 Infinity 與 -Infinity 來的簡潔。使用 isFinite() 來確認是否無限,也許就直接使用 !isFinite() 來直接完成,簡短又直覺,但這個方法不能檢查像是 NaN 的狀況!所以如果要檢查是否無限,透過直接比較 Infinity 與 -Infinity 即可。最後 isFinite() 不只一個地方有,Number.isFinite() 也有提供,效果是一樣的。
參考資料
[ developer.mozilla.org ] isFinite()
沒有留言:
張貼留言