Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #18689

Re: Why is this returning NaN

Message-ID <2081372.r8gXD5iYSO@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2013-03-02 12:49 +0100
Subject Re: Why is this returning NaN
Newsgroups comp.lang.javascript
References (4 earlier) <kgqfsg$vdj$1@speranza.aioe.org> <1652233.QWaZaUHVxr@PointedEars.de> <kgr6co$5l3$1@speranza.aioe.org> <3738380.KODd8mRBzQ@PointedEars.de> <OOidnXA2nqcEHazMnZ2dnUVZ_r-dnZ2d@earthlink.com>

Show all headers | View raw


Patricia Shanahan wrote:

> On 3/1/2013 1:35 PM, Thomas 'PointedEars' Lahn wrote:
>> […]  I did not say that isNaN(…) was reliable with non-Number
>> values; only that NaN, a Number value, can only be detected with
>> isNaN(…).
> 
> That is surprising. In environments that did not have an isNaN
> equivalent, or when implementing the equivalent of isNaN for a library,
> I used to use the property that a NaN is not equal to itself
> but all other numbers are:
> 
> if(!(x == x))
> 
> Does something go wrong with that?

No, I do not think so.  It appears to be equivalent to

  if (isNaN(x))

based on the premise that the value of x is of the Number type (an 
implementation of IEEE-754 floating-point values).  This can be expressed 
as:

  if (typeof x == "number" && x != x)

(Those who prefer “!==” here may do so with no obvious performance gain but 
with reduced backwards compatibility.)
 
> Of course, isNaN is the clearest, most readable way of detecting a NaN,
> regardless of whether it is the only way.

With the provision that one must make sure first that the value is of the 
Number type, as the ECMAScript isNaN(…) is about whether the argument can be 
*interpreted* as a Number value.  But I have yet to come across a case where 
I would use isNaN(…) and could not reasonably assume that the argument was a 
Number or something used as a Number later on.

-- 
PointedEars

Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Why is this returning NaN "Tony" <tony.johansson@inport.com> - 2013-02-26 11:54 +0100
  Re: Why is this returning NaN Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-02-26 12:09 +0100
  Re: Why is this returning NaN "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2013-02-26 13:45 +0200
    Re: Why is this returning NaN "J.R." <groups_jr-1@yahoo.com.br> - 2013-03-01 00:45 -0300
      Re: Why is this returning NaN "J.R." <groups_jr-1@yahoo.com.br> - 2013-03-01 01:13 -0300
        Re: Why is this returning NaN Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-01 12:48 +0100
      Re: Why is this returning NaN "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-03-01 10:06 +0100
      Re: Why is this returning NaN Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-01 12:46 +0100
        Re: Why is this returning NaN John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-01 14:19 +0000
        Re: Why is this returning NaN "Joao Rodrigues (J.R.)" <groups_jr-1@yahoo.com.br> - 2013-03-01 12:01 -0300
          Re: Why is this returning NaN Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-01 21:03 +0100
            Re: Why is this returning NaN "Joao Rodrigues (J.R.)" <groups_jr-1@yahoo.com.br> - 2013-03-01 18:25 -0300
              Re: Why is this returning NaN Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-01 22:35 +0100
                Re: Why is this returning NaN Patricia Shanahan <pats@acm.org> - 2013-03-01 20:31 -0800
                Re: Why is this returning NaN Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-02 12:49 +0100
                Re: Why is this returning NaN "J.R." <groups_jr-1@yahoo.com.br> - 2013-03-03 12:32 -0300
                Re: Why is this returning NaN "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-03-03 18:03 +0100
                Re: Why is this returning NaN Martin Leese <please@see.Web.for.e-mail.INVALID> - 2013-03-03 10:16 -0700
                OT: "javascript" was: Why is this returning NaN Christoph Becker <cmbecker69@gmx.de> - 2013-03-03 20:35 +0100
                Re: OT: "javascript" was: Why is this returning NaN "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2013-03-03 21:43 +0200
                Re: OT: "javascript" was: Why is this returning NaN Tim Streater <timstreater@greenbee.net> - 2013-03-03 19:45 +0000
                "javascript" (was: OT: "javascript") Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-03 21:09 +0100
                Re: "javascript" "J.R." <groups_jr-1@yahoo.com.br> - 2013-03-03 23:19 -0300
                Re: "javascript" Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-04 11:27 +0100
                Re: "javascript" Tim Streater <timstreater@greenbee.net> - 2013-03-04 13:09 +0000
                Re: "javascript" Christoph Becker <cmbecker69@gmx.de> - 2013-03-10 20:50 +0100
                Re: "javascript" Tim Streater <timstreater@greenbee.net> - 2013-03-10 20:29 +0000
                Re: "javascript" Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-10 23:23 +0100
                Re: "javascript" Tim Streater <timstreater@greenbee.net> - 2013-03-10 22:48 +0000
                Re: "javascript" Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-10 23:53 +0100
                Re: "javascript" Tim Streater <timstreater@greenbee.net> - 2013-03-10 23:23 +0000
                Re: "javascript" Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-11 02:57 +0100
                Re: "javascript" Tim Streater <timstreater@greenbee.net> - 2013-03-11 08:55 +0000
                Re: "javascript" Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-11 17:38 +0100
                Re: "javascript" Dr J R Stockton <reply1300@merlyn.demon.co.uk.invalid> - 2013-03-12 19:29 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-13 14:36 +1100
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-13 15:20 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-14 11:18 +1100
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-14 10:43 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-15 07:02 +1100
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-15 10:28 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-16 07:17 +1100
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-16 12:04 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-17 08:17 +1100
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-17 11:13 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-17 23:15 +1100
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-17 16:42 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-18 07:47 +1100
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-18 15:01 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-19 07:34 +1100
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-19 15:04 +0000
                Re: "javascript" Andrew Poulos <ap_prog@hotmail.com> - 2013-03-20 07:40 +1100
                Re: "javascript" Mike Duffy <Use.web.form@website_in_sig.com> - 2013-03-13 12:03 +0000
                Re: "javascript" Dr J R Stockton <reply1300@merlyn.demon.co.uk.invalid> - 2013-03-14 21:22 +0000
                Re: "javascript" Mike Duffy <Use.web.form@website_in_sig.com> - 2013-03-15 01:44 +0000
                Re: "javascript" Dr J R Stockton <reply1300@merlyn.demon.co.uk.invalid> - 2013-03-16 19:42 +0000
                Re: "javascript" Mike Duffy <Use.web.form@website_in_sig.com> - 2013-03-17 18:25 +0000
                Re: "javascript" Tim Streater <timstreater@greenbee.net> - 2013-03-17 19:01 +0000
                Re: "javascript" Gene Wirchenko <genew@telus.net> - 2013-03-15 10:55 -0700
                Re: "javascript" John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-13 15:21 +0000
                Re: "javascript" (was: OT: "javascript") Dr J R Stockton <reply1300@merlyn.demon.co.uk.invalid> - 2013-03-04 13:07 +0000
                Re: "javascript" Christoph Becker <cmbecker69@gmx.de> - 2013-03-10 20:34 +0100
                Re: "javascript" Tim Streater <timstreater@greenbee.net> - 2013-03-10 19:39 +0000
                Re: OT: "javascript" was: Why is this returning NaN "J.R." <groups_jr-1@yahoo.com.br> - 2013-03-03 22:41 -0300
                Re: OT: "javascript" was: Why is this returning NaN "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-03-04 09:57 +0100
                Re: OT: "javascript" was: Why is this returning NaN Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-03-04 11:25 +0100
                Re: OT: "javascript" was: Why is this returning NaN John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-04 14:52 +0000
                Re: OT: "javascript" was: Why is this returning NaN Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-03-10 01:02 +0100
                Re: OT: "javascript" was: Why is this returning NaN John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-10 10:52 +0000
                Re: OT: "javascript" was: Why is this returning NaN Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-03-10 12:44 +0100
                Re: OT: "javascript" was: Why is this returning NaN John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-10 17:49 +0000
                Re: OT: "javascript" was: Why is this returning NaN Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-03-20 01:21 +0100
                Re: OT: "javascript" was: Why is this returning NaN John G Harris <niam@jghnorth.org.uk.invalid> - 2013-03-20 15:25 +0000
                Re: OT: "javascript" was: Why is this returning NaN Eric Bednarz <bednarz@fahr-zur-hoelle.org> - 2013-03-30 01:28 +0100
  Re: Why is this returning NaN Tim Streater <timstreater@greenbee.net> - 2013-02-26 12:00 +0000
    Re: Why is this returning NaN Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-02-26 18:07 +0100
  Re: Why is this returning NaN Gregor Kofler <usenet@gregorkofler.com> - 2013-02-26 13:42 +0100
  Re: Why is this returning NaN Dr J R Stockton <reply1300@merlyn.demon.co.uk.invalid> - 2013-02-27 20:43 +0000
    Re: Why is this returning NaN "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-02-28 09:19 +0100

csiph-web