> > The current draft spec [0] uses a ToNumber coercion and checks whether > this results is NaN. So "Number.isNaN(Object(NaN))" will return "true".
Global's isNaN uses ToNumber, but Number.isNaN doesn't do it because type coercion makes confused result, such as `isNaN(Object(NaN))` => true [0] So "Number.isNaN(Object(NaN))" will return "false" in latest draft and "isNaN(Object(NaN))" will return "true". [0] http://wiki.ecmascript.org/doku.php?id=harmony:number.isnan On Fri, Dec 14, 2012 at 12:50 PM, Luke Hoban <[email protected]> wrote: > >> From: [email protected] [mailto: > [email protected]] On Behalf Of John-David Dalton > >> Subject: Number.isNaN > > >> I noticed that ES6 `Number.isNaN` checks `Type(number)` of Number, > would it make sense to instead check that the [[BuiltinBrand]] is > BuiltinNumberWrapper similar to `Array.isArray`'s check. This would also > allow `Number.isNaN(Object(NaN))` to return `true`. Thoughts? > > The current draft spec [0] uses a ToNumber coercion and checks whether > this results is NaN. So "Number.isNaN(Object(NaN))" will return "true". > > Luke > > [0] http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss > -- Regards, Yusuke Suzuki
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

