nonNaN
function nonNaN<T>(value: T | number): value is T;
nonNaN(value) is the same test as !isNaN(value), written so that a guard clause reads as a sentence rather than as a negation.
Nothing is coerced first, which is where this differs from the global isNaN: that one converts its argument, so isNaN("abc") and isNaN(undefined) both report true.
isX and nonX answer a question and never interrupt control flow; requireX and requireNonX hand the value back or throw. The scheme is explained in Validation conventions.
Parameters
Parameter | Type | Description |
|---|---|---|
|
| The value to check. |
Returns
boolean — true when the value is not the NaN number; otherwise false.
In TypeScript the guard narrows value to T inside the branch.
Examples
What passes and what does not
nonNaN(0); // => true
nonNaN("abc"); // => true
nonNaN(undefined); // => true
nonNaN(NaN); // => false
nonNaN(0 / 0); // => false
See also
Source
23 September 2026
This documentation was generated with AI (Claude) from the library's source code.