NaN
является числовым примитивом, а не объектом. Как и все примитивы, он преобразуется в объект, когда вы используете оператор .
для доступа к свойству или методу, который существует в классе prototype
.
класса создателя.
Чтобы отобразить свойства, доступные для примитивов, либо преобразуйте их в объект, либо используйте console.dir()
console.dir(NaN);
console.log(Object(NaN));
Все примитивы ведут себя так, когда вы вызываете console.log
для любого из следующих действий, они ведут себя одинаково:
console.log("Hello");
console.log(1);
console.log(true);
Тем не менее, вы можете обращаться к свойствам на них, как к обычным объектам:
"Hello".length;
1 .toString();
true.valueOf();