`NaN = true; NaN` gives NaN for me. They're nonwritable and nonconfigurable properties of the global object, according to the ES5 spec you linked to.