isNumber
Checks whether a value is a primitive number. This helper performs a strict typeof check and does not enforce finiteness.
It accepts NaN, Infinity, and -Infinity because they are still valid number primitives in JavaScript. This helper never throws and never mutates input.
Signature
function isNumber(value: unknown): value is number
Parameters
| Name | Data type | Description |
|---|---|---|
| value | unknown |
The value to check. This helper returns true only for primitive numbers. |
Returns
A boolean:
true: If the value is a primitive number.false: Otherwise.
Examples
isNumber(42) // true
isNumber(0) // true
isNumber(-3.14) // true
isNumber(NaN) // true
isNumber(Infinity) // true
isNumber("123") // false
isNumber(null) // false
isNumber(1n) // false
isNumber(new Number(5)) // false
Notes
- This helper does not check for finiteness. Use isFiniteNumber if you need to reject
NaN,Infinity, and-Infinity. - Use isInteger if you need to confirm integer values.
- Use
normalizeNumberif you need to convert values into numbers. - Use
validateNumberif you need aResult<T>instead of a boolean.