Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

342
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda