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

142
Visualizações
Genere un objeto con tipo const en TypeScript

Estoy tratando de generar un objeto de tipo const pasando una cadena que quiero usar como tipo, ¿es esto posible? Probé lo siguiente y está mostrando el tipo incorrecto.

 const test = <T> (name: T) => { const hi: { name: T } = { name } as const return hi } const test1 = test('hello')

Me gustaría que esto fuera de tipo

 { name: 'hello'; }

Pero en cambio es de tipo

 { name: string; }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Para inferir el tipo literal de un argumento, generalmente necesita agregar la restricción adecuada a su argumento genérico. Mira este ejemplo:

 function test<T extends string>(name: T) { return { name }; } const test1 = test('hello') // {name:"hello"}

Si te interesan más ejemplos, puedes consultar mi artículo

Si desea agregar alguna validación, puede usar el tipo condicional:

 // Forbids using underscore as a prefix type IsAllowed<T extends string> = T extends `_${string}` ? never : T function foo<T extends string>(name: IsAllowed<T>) { return { name }; } const test1 = foo('hello') // ok const test2 = foo('_hello') // expected error

O puede usar este tipo de utilidad:

 type IsLiteral<T extends string> = T extends string ? string extends T ? never : T : never function test<T extends string>(name: IsLiteral<T>) { return { name }; }

Si desea permitir solo literales de cadena

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