Así que aquí está el código:
function foo() {}; let obj = new foo(); console.log(Object.getOwnPropertyNames(obj)); // [] console.log(Object.getOwnPropertyNames(Object.getPrototypeOf(obj))); // [ 'constructor' ]Creamos una instancia de foo en la línea 3. En la línea 5, generamos las propiedades propias de la instancia obj que genera una matriz vacía. En la línea 6, mostramos las propiedades en el prototipo de la instancia obj que muestra una matriz que contiene la propiedad del constructor.
Sin embargo, cuando trato de verificar la propiedad del constructor usando Object.keys o for/in loop, no aparece. ¿Por qué?
function foo() {}; let obj = new foo(); console.log(Object.keys(Object.getPrototypeOf(obj))); // [] for (let key in Object.getPrototypeOf(obj)) { console.log(key); }