isFiniteNumber
Checks whether a value is a finite primitive number. A finite number is a number primitive that is not NaN, Infinity, or -Infinity.
This helper never throws and never mutates input. Use it when you need to confirm that a value is suitable for arithmetic, normalization, or any domain where numeric finiteness is required.
Signature
function isFiniteNumber(value: unknown): value is number
Parameters
| Name | Data type | Description |
|---|---|---|
| value | unknown |
The value to check. Must be a finite primitive number to return true. |
Returns
A boolean:
true: If the value is a finite primitive number.false: Otherwise.
Examples
isFiniteNumber(0) // true
isFiniteNumber(3.14) // true
isFiniteNumber(-100) // true
isFiniteNumber(NaN) // false
isFiniteNumber(Infinity) // false
isFiniteNumber("123") // false
isFiniteNumber(1n) // false
Notes
- This helper is stricter than isNumber, which accepts
NaN,Infinity, and-Infinity. - Wrapper objects (for example,
new Number(5)) are rejected because they are not number primitives. - Use isInteger if you need to confirm integer values.
- Use
normalizeFiniteNumberif you need to coerce values into finite numbers. - Use
validateFiniteNumberif you need aResult<T>instead of a boolean.