Estoy tratando de entender por qué el siguiente código funciona de la manera que lo hace.
Creo que es contradictorio que el registro de killerRabbit.prototype dé undefined mientras que al mismo tiempo parece ser igual a Rabbit.prototype .
¿Tiene un prototipo asociado pero no un prototipo real como propiedad?
En ese caso, ¿cómo accedo a las propiedades de esos prototipos?
class Rabbit { constructor(type) { this.type = type; } speak(line) { console.log(`The ${this.type} rabbit says '${line}'`); } } let killerRabbit = new Rabbit("killer"); console.log(Object.getPrototypeOf(killerRabbit)==Rabbit.prototype);//true console.log(killerRabbit.prototype);//undefinedSi desea acceder a la propiedad prototipo en una instancia, intente esto:
console.log(killerRabbit.__proto__); Y esta propiedad apunta a la propiedad prototype de la clase basada.
console.log(killerRabbit.__proto__ === Rabbit.prototype); // true