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関数で、true
やfalse
になるパターンを表にまとめてみました。
渡す値 | 値の説明 | 返り値 |
---|---|---|
‘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
になるのが意外でした。
気をつけて使っていきたいと思います。
コメント