Получение методов в экземпляре

#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
);