register () funciona bien con la clase Person y veo la declaración de devolución cuando consola. Lo registro después de la clase Person
Más tarde, lo extiendo a mi clase de Empleado, pero cuando lo consuelo, lo registro allí, veo - [Función (anónima)] en lugar de la declaración de devolución que configuré
aquí está el código:
interface PersonInterface { id: number; name: string; register(): string; } // Classes class Person implements PersonInterface { id: number; name: string; constructor(id: number, name: string) { this.id = id; this.name = name; } register() { return `${this.name} is now registered`; } } const mike = new Person(2, "Mike Jordan"); // console.log(mike.register()); - I get 'Mike Jordan is now registered' class Employee extends Person { position: string; constructor(id: number, name: string, position: string) { super(id, name); this.position = position; } } const emp = new Employee(3, "Shawn", "Developer"); console.log(emp.register);y esto es lo que veo en la terminal para ese console.log
[Function (anonymous)]Parece que el método no se extiende correctamente. ¿Cómo puedo resolver esto? El objetivo es ver la declaración de devolución de la misma manera que funciona dentro de la clase Persona.
Ahora estás iniciando sesión en la consola
console.log(emp.register);que devuelve:
register() { return `${this.name} is now registered`; }también conocido como una función, si agrega paréntesis
console.log(emp.register());volverá
"Shawn is now registered"