Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

118
Views
¿Argumento de función mecanografiada con niño/clase heredada?

Estoy tratando de escribir una función que establezca algunas propiedades en sus argumentos (no devuelva un nuevo objeto), el argumento es de una clase que se extiende desde la misma base, es decir

 class BaseEvent { string eventName!; } class DeleteEvent extends BaseEvent { string deleteReason; } class UpdateEvent extends BaseEvent { string updatedBy; } const modifyEvent = async ( event: BaseEvent){ switch event.eventName{ case "deleteEvent": event.deleteReason="xyz"; //doesn't work deleteReason doesn't exist on base class return; case "updateEvent": event.updatedBy="abc"; return; } }

y entonces probé esto:

 switch (true){ case event instanceOf DeleteEvent: event.deleteReason="xyz"; //doesn't work deleteReason doesn't exist on base class return; case event instanceOf UpdateEvent: //still doesn't work event.updatedBy="abc"; return; }

También he probado a encasillar

 let modifiedEvent= event; //argument event switch event.eventName{ case "updatedEvent": modifiedEvent=<UpdatedEvent> modifiedEvent; //no luck here either }

Ahora debería haber una solución simple/limpia para esto, pero lamentablemente mi paciencia se está agotando. Cualquier sugerencia sería muy útil. Nuevamente, quiero tomar un objeto de clase secundaria, ver si es de childA o childB y si es childA, entonces actualizo una propiedad y si es childB, actualizo otra propiedad y estas propiedades no existen en ambos tipos de niños.

EDITAR: también la función es asíncrona porque, según la clase secundaria, estoy haciendo algunas operaciones de lectura de base de datos, etc.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!