• Valmond@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      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…

      • povario@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        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;
        
        • smlckz@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          2 months ago

          Another way to check whether a number is NaN:

          const isNaN = res !== res;
          

          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/17221245

          This comparison should work in every programming language out there that implements/respects/uses IEEE 754 floating point numbers.