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

344
Vistas
TypeScript: permite tipos como parámetro de función que contienen ciertas teclas

Supongamos que tengo dos interfaces.

 interface AppleReport { name: string, color: string, age: string } interface BananaReport { name: string, color: string, amount: number, }

Ahora defino una función. Quiero que esta función tome cada tipo que tenga una clave de nombre y una clave de color .

 cosnt doSth = (value: **TODO**) => { // do sth with *value* that contains *name* and *color* }

Lo sé, que podría crear una interfaz

 interface dummyInterface { name: string, color: string, }

y deje que AppleReport y BananaReport amplíen esto, pero me gustaría hacer toda la lógica en la definición del tipo de función.

¿Algunas ideas?

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

0

Podrías hacerlo

 cosnt doSth = (value: { name : string, color : string } ) => { // do sth with *value* that contains *name* and *color* }

pero esto parece desordenado y recomendaría seguir la forma en que no desea y crear una interfaz y luego extender las otras 2 interfaces a partir de ella.

o si no desea extender las otras interfaces, puede usar el tipo de interfaz como el tipo para pasar y no extender. Seguirá funcionando mientras existan los miembros.

 interface NameAndColor { name: string, color: string, } interface AppleReport { name: string, color: string, age: string } interface BananaReport { name: string, color: string, amount: number, } const doSth = (value: NameAndColor) => { // do sth with *value* that contains *name* and *color* } let obj = { name : "myName", color : "myColor"}; doSth( obj );

Pero realmente, en mi opinión, la mejor manera es hacer que sus interfaces se extiendan.

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