I am creating the class 'Person' and I need to add the data() method to the class prototype through the addMethod() function, but the variables this.name and this.age in the data() method are not accessing the class attributes, when returning it returns 'undefined, undefined years'
class Persona {
constructor(nombre, apellido, edad, domicilio) {
// Crea el constructor:
this.nombre = nombre;
this.apellido = apellido;
this.edad = edad;
this.domicilio = domicilio;
}
detalle = () =>{
return {
Nombre : this.nombre,
Apellido : this.apellido,
Edad : this.edad,
Domicilio : this.domicilio
}
}
}
function crearInstanciaPersona(nombre, apellido, edad, dir) {
//Con esta función vamos a crear una nueva persona a partir de nuestro constructor de
//persona (creado en el ejercicio anterior)
//Recibirá los valores "Juan", "Perez", 22, "Saavedra 123" para sus respectivas
//propiedades
//Devolver la nueva persona creada
let person = new Persona(nombre, apellido, edad, dir);
return person
}
function agregarMetodo() {
//La función agrega un método "datos" a la clase Persona que toma el nombre y la edad
//de la persona y devuelve:
//Ej: "Juan, 22 años"
Persona.prototype.datos = () =>{
return `${this.nombre}, ${this.edad} años`
}
}