JavaScriptのisFinite関数の使い方!テストパターン9選!

JavaScript

JavaScriptのisFinite関数の使い方について書いています。

最初にisFinite関数の使い方について解説しています。
その後に、いろいろな値を渡して、動作を確認してみました。

isFinite関数の使い方

isFinite関数を使うと、渡された値が有限数かどうかを判定することができます。
例えば、下記のように使います。

const result1 = isFinite(100)
console.log(result1) // true

const result2 = isFinite('77')
console.log(result2) // true

const result3 = isFinite('test123')
console.log(result3) // false

最初にisFinite関数に「100」を渡して、結果をresult1変数で受け取っています。
有限な数値なので、「true」が返ってきます。

次に文字列の「'77'」を渡していますが、数値としてみてくれるため、ここでも「true」が返ってきます。
最後に文字列の「test123」を渡しています。
これは数値ではないため、「false」が返ってきます。

引数と戻り値のまとめ

isFinite関数の引数と戻り値をまとめました。

引数

引数には有限数か確認したい値を渡します。

戻り値

有限な数値だったときには、trueが返ってきます。
数値ではない文字列や、無限のInfinity-Infinity、未定義のundefinedのときにはfalseになります。

isFinite関数のテストパターン9選

いろいろな値を渡して試してみました。

数値ではない文字列

数値ではない文字列を渡すと、falseになります。

const result = isFinite('hello')
console.log(result) // false

数値の文字列

数値の文字列を渡すと、trueになります。

const result = isFinite('888')
console.log(result) // true

数値

有限な数値のときは、trueになります。
小数や負の数、2進数・8進数・16進数もtrueです。

let result =  isFinite(99)
console.log(result) // true

result =  isFinite(3.14) // 小数
console.log(result) // true

result =  isFinite(-100) // 負の数
console.log(result) // true

result =  isFinite(0b1010) // 2進数
console.log(result) // true

result =  isFinite(0o333) // 8進数
console.log(result) // true

result =  isFinite(0xf8) // 16進数
console.log(result) // true

論理値

論理値は、trueを渡してもfalseを渡しても、trueが返ってきます。

let result =  isFinite(true)
console.log(result) // true

result =  isFinite(false)
console.log(result) // true

空文字

空文字を渡したときには、trueになります。

const result = isFinite('')
console.log(result) // true

Infinity

Infinityを渡したときには、falseになります。

const result = isFinite(Infinity)
console.log(result) // false

-Infinity

-Infinityを渡したときにも、falseになります。

// -Infinity
const result = isFinite(-Infinity)
console.log(result) // false

undefined

undefinedを渡したときには、falseになります。

const result = isFinite(undefined)
console.log(result) // false

null

nullを渡したときには、trueになります。

const result = isFinite(null)
console.log(result) // true

isFinite関数のまとめ表

最後にisFinite関数で、truefalseになるパターンを表にまとめてみました。

渡す値 値の説明 返り値
‘hello’ 文字列  false
‘888’ 文字列(数値) true
99 数値 true
3.14 数値(小数) true
-100 数値(負数) true
0b1010 数値(2進数) true
0o333 数値(8進数) true
0xf8 数値(16進数) true
true 論理値 true
false 論理値 true
空文字 true
Infinity 正の無限大 false
-Infinity 負の無限大 false
undefined 未定義 false
null ヌル true

今回いろいろ試した結果、空文字とnullがtrueになるのが意外でした。
気をつけて使っていきたいと思います。

コメント

タイトルとURLをコピーしました