它告诉我,我有值'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]
希望这对你有所帮助:)