Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

148
Vistas
Anulando un método con diferentes parámetros en Typescript

Mientras leía el método que reemplaza parte de la documentación de Typescript, encontré algo interesante. Normalmente, no se hace referencia al método de la clase base al anular el método en javascript. Pero es diferente en mecanografiado.

Ejemplo

 class Base { greet() { console.log("Hello, world!"); } } class Derived extends Base { /* Property 'greet' in type 'Derived' is not assignable to the same property in base type 'Base'. Type '(name: string) => void' is not assignable to type '() => void'. */ greet(name: string) { console.log(`Hello, ${name.toUpperCase()}`); } }

En realidad, se puede hacer de esta manera.

 class Derived extends Base { greet(name?: string) { if (name === undefined) { super.greet(); } else { console.log(`Hello, ${name.toUpperCase()}`); } } }

¿Pero por qué? ¿Es esto un patrón? ¿Tengo que hacerlo de esta manera al anular el método?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

"Asignable" en mecanografiado simplemente significa que el parámetro y los tipos de retorno se superponen.

Tienes estas firmas:

 greet(): void; greet(name: string): void;

Dado que los tipos de parámetros no se superponen, TypeScript le advierte que la firma no se puede asignar al método base.

Si cambia el segundo método para greet(name?: string): void;

luego, los tipos de parámetros se superponen ( ? significa que un parámetro es opcional)) y TypeScript no necesita advertirle, porque necesita verificar manualmente si el name está disponible o no.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda