Estaba viendo un ejemplo de herencia usando prototipos como se muestra a continuación:
function Person(name){ this.name = name } function Student(name){ Person.call(this, name) } Student.prototype = Object.create(Person.prototype) Student.prototype.constructor = Student let jim = new Student("Jim") Mi pregunta es, ¿por qué es necesario configurar el prototipo usando Object.create(Person.prototype) ? ¿Por qué no simplemente configurarlo como Person.prototype ?
Si lo haces
Student.prototype = Person.prototype;y el siguiente movimiento intenta extenderlo:
Student.prototype.a = function(.... También afectará a Person.prototype (ya que es estrictamente el mismo objeto exacto después de la asignación)