para aclarar, hay una respuesta a la pregunta de una entrevista en github que dice:
Todos los objetos tienen prototipos, excepto el objeto base. El objeto base es el objeto creado por el usuario, o un objeto que se crea utilizando la nueva palabra clave. El objeto base tiene acceso a algunos métodos y propiedades, como .toString. ¡Esta es la razón por la que puede usar métodos JavaScript incorporados! Todos estos métodos están disponibles en el prototipo. Aunque JavaScript no puede encontrarlo directamente en su objeto, desciende por la cadena de prototipos y lo encuentra allí, lo que lo hace accesible para usted.
He leído esta respuesta varias veces, pero lamentablemente no me ayudó, ¿alguien podría explicarla de una manera más comprensible?.
También el enlace para responder está aquí .
La gran mayoría de los objetos que encontrará finalmente heredan de Object.prototype . Esto incluye objetos incorporados y objetos creados con sintaxis literal de objetos, entre muchos otros.
const obj = {}; console.log(Object.getPrototypeOf(obj) === Object.prototype); Muy pocos objetos, incluido el propio Object.prototype , no heredan de nada. Esto solo ocurrirá si el objeto se crea explícitamente con Object.create(null) .
console.log( Object.getPrototypeOf(Object.prototype) === null, Object.getPrototypeOf(Object.create(null)) === null );