I advise you to implement your code differently.
The reasons:
- It might be short, but it’s not easy to understand what’s going on
- Using
isNaNisn’t the best option here:isNaN("")returnsfalseas well
You better try to convert the value into a number and check if that’s NaN or not (as @smnbbrv wrote):
if (typeof expectedValue === "string" && !Number.isNaN(Number(expectedValue))) {
expectedValue = Number(expectedValue);
}
Edit
You can pass your value as any:
isNaN(ctualValue as any)
To bypass the compiler check.