Почему у Object прототипом является функция?
На сколько я понимаю, у js ниже по цепочке прототипов, после Object уже ничего нет.
Однако, если у Object посмотреть прототип через метод getPrototypeOf, то нам вернет ƒ () { [native code] }. Получается в js у Object протоип это функция?
Как это понять?
console.log(Object.getPrototypeOf(Object)); // ƒ () { [native code] }
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
typeof Object === 'function'
Вполне логично, что у функции, прототипом является функция.
Чтобы получить null нужно подниматься выше по цепоче:
console.log(Object.getPrototypeOf(Object))
console.log(Object.getPrototypeOf(Object.getPrototypeOf(Object)))
console.log(Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Object))))
Также можно отметить, что прототипом объектов является Object.prototype, а не Object, и если брать прототип именно этого объекта получается null как и указано.
console.log(Object.prototype)
console.log(Object.getPrototypeOf(Object.prototype))