#javascript
Вопрос:
Из следующего кода:
let n = 1234.567;
console.log(Object.getOwnPropertyNames(Number.prototype));
console.log(Object.getPrototypeOf(n));
console.log(Object.getPrototypeOf(5));
Первая console.log
печатает свойства, но вторая и третья строки просто печатаются {}
. Почему это так? Есть ли имя, позволяющее напрямую проверять переменную или число без необходимости ссылаться на базовый тип, например Number.prototype
?
Комментарии:
1. Консоль фрагментов StackOverflow отображает свойства, которые можно перечислить. Свойства, которые вы пытаетесь просмотреть, не поддаются перечислению. Поэтому вам нужно использовать консоль браузера, чтобы увидеть их
Ответ №1:
Вторая и третья строки отображаются только для печати пустых объектов из — за того, как работает консоль фрагментов стека-фактическая консоль браузера Chrome, Firefox, Safari или любого другого браузера, который вы хотите, будет намного более информативной. При отладке вещей и объектов ведения журнала, если вам нужен наиболее информативный интерфейс, используйте настоящую консоль браузера.
Обе эти линии действительно указывают на Number.prototype
:
console.log(
Object.getPrototypeOf(5) === Number.prototype
);