我想打印这个类的属性,一切都很好,直到我在控制台中显示AddPet()方法时才看到



它告诉我,我有值'perro',我传递给对象和一个值是未定义的,当我没有请求它在任何其他方面,这个错误的原因是什么?

class Usuario {
constructor(nombre, apellido, libros, mascotas) {
this.nombre = nombre;
this.apellido = apellido;
this.libros = libros;
this.mascotas = mascotas;
}
getFullName() {
console.log(`${this.nombre} ${this.apellido}`);
}
addMascota(mascota) {
this.mascotas.push(mascota);
}
countMascotas() {
return this.mascotas.length;
}
addBook(nombre, autor) {
this.libros.push(nombre, autor);
}
static definicion() {
console.log("Una persona es un ser humano!");
}
}
const usuario = new Usuario(
"John",
"Doe", [{
nombre: "El señor de los anillos",
autor: "J.R.R. Tolkien"
}], ['perro']
);
usuario.getFullName();
usuario.addMascota();
usuario.countMascotas();
console.log(usuario);

您似乎没有在addMascota()中添加参数在初始化过程中,你把this.mascotas变成["perro"],所以没有对addMascota()的论证,它会补充未定义到列表,导致["perro", undefined]希望这对你有所帮助:)

最新更新