probably not true in most other langauges. although I’m not well versed in the way numbers are represented in code and what makes a number “NaN”, something tells me the technical implications of that would be quite bad in a production environment.
the definitive way to check for NaN in JS would probably be something like
// with `num` being an unknown value// Convert value to a numberconst res = Number(num);
/*
* First check if the number is 0, since 0 is a falsy
* value in JS, and if it isn't, `NaN` is the only other
* falsy number value
*/constisNaN = res !== 0 && !res;
C, because yes.
I’d say C too because that’s the only one that would be True in a normal programming language and this is javascript so…
probably not true in most other langauges. although I’m not well versed in the way numbers are represented in code and what makes a number “NaN”, something tells me the technical implications of that would be quite bad in a production environment.
the definitive way to check for NaN in JS would probably be something like
// with `num` being an unknown value // Convert value to a number const res = Number(num); /* * First check if the number is 0, since 0 is a falsy * value in JS, and if it isn't, `NaN` is the only other * falsy number value */ const isNaN = res !== 0 && !res;
Another way to check whether a number is
NaN
:As
NaN
is the only value out there that is not equal to itself. See my other comment on this post for more: https://programming.dev/comment/17221245This comparison should work in every programming language out there that implements/respects/uses IEEE 754 floating point numbers.