requireNonNaN
function requireNonNaN<T>(
value: T | number,
message: string = "Expected a value that is not NaN."
): T;
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 validate. |
|
| The message of the exception. A default is used when omitted. |
Returns
T — the same value, with the NaN number excluded from its type.
Throws
Exception | Condition |
|---|---|
| the value is the |
Examples
What passes and what does not
requireNonNaN(0); // => 0
requireNonNaN("abc"); // => "abc"
requireNonNaN(NaN); // throws IllegalArgumentException
requireNonNaN(0 / 0); // throws IllegalArgumentException
See also
Source
23 September 2026
This documentation was generated with AI (Claude) from the library's source code.