This is a primitive. You can check several ways:
typeof NaN gives a "number", not an "object".
Add a property, it disappears. NaN.foo = "hi"; console.log(NaN.foo) // undefined
NaN instanceof Number gives false (but we know this number, so it should be primitive).
NaN , 0 / 0 NaN, . NaN , , .