MDN may have intermittent access issues April 18 13:00 - April 19 01:00 UTC. See for all notifications.

Your Search Results



    A value representing Not-A-Number.

    Core Global Property
    Implemented in JavaScript 1.3
    ECMAScript Edition ECMAScript 1st Edition




    NaN is a property of the global object.

    The initial value of NaN is Not-A-Number — the same as the value of Number.NaN. In modern browsers, NaN is a non-configurable, non-writable property. Even when this is not the case, avoid overriding it.

    It is rather rare to use NaN in a program. It is the returned value when Math functions fail (Math.sqrt(-1)) or when a function trying to parse a number fails (parseInt("blabla")).

    Testing against NaN

    Equality operator (== and ===) cannot be used to test a value against NaN. Use isNaN instead.

    NaN === NaN;        // false
    Number.NaN === NaN; // false
    isNaN(NaN);         // true
    isNaN(Number.NaN);  // true

    See also

    Document Tags and Contributors

    Contributors to this page: Maian, Nickolay, Prodoc
    Last updated by: Maian,