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

151
Vistas
cómo obtener el tipo de una clave calculada de T como un tipo genérico en mecanografiado

tengo estas dos interfaces

 interface PersonRequirements{ user:string, password:string, id:number } export interface Requirement<R> { name: keyof R & string, save: () => any,/* I want this return type to be same as return type of founded key in R*/ }

y aquí está mi caso de uso en otro lugar

 const idRequirement:Requirement<PersonRequirements>={ name:"id", save:function ():number/* I want this return type to be same as id's return type(number) but in a generic type safe way*/{ // } }

Quiero hacer que el tipo de devolución save() sea el mismo que el tipo de devolución de id, pero de una manera genérica y segura, ¿cómo puedo hacer eso?

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

0

Puede declarar otro parámetro genérico que tome el nombre de la propiedad en tiempo de compilación .

 export interface Requirement<R, N extends keyof R & string> { name: N; // this will force the name property to be the same as being passed in save(): R[N]; }

Entonces usándolo así

 const idRequirement: Requirement<PersonRequirements, "id"> ={ name: "id", save: () => 0 }
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