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

161
Visualizações
Cadena en minúsculas de TypeScript

¿Hay alguna manera de asegurarse de que TS grite si recibe algo más de una cadena en minúsculas para fieldName ?

 type Props = { onEdit: (data: Record<string, string | number>) => void; title: string; fields: { fieldName: string; fieldValue?: string | number; } };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Es bastante simple crear una utilidad para hacer cumplir que los literales de cadena estén en minúsculas usando la utilidad de tipo Lowercase<StringType> :

Parque infantil TS

 type EnforceLowerCase<T extends string> = Lowercase<T> extends T ? string extends T ? never : T : never; type Str1 = EnforceLowerCase<'Hello'>; // never type Str2 = EnforceLowerCase<'hello'>; // "hello"

Sin embargo, usarlo en su escenario sería muy complicado, porque requeriría usar solo literales de cadena (que TS no infiere en los valores de propiedad del objeto).


En su lugar, es mejor garantizar el cumplimiento de las expectativas en tiempo de ejecución. Aquí hay un ejemplo que usa una función pura que no muta el objeto de entrada:

Parque infantil TS

 function ensureLowerCaseFieldName (props: Props): Props { return {...props, fields: { ...props.fields, fieldName: props.fields.fieldName.toLocaleLowerCase(), }}; } function doSomethingWithProps (props: Props) { props = ensureLowerCaseFieldName(props); console.log(props); } const props: Props = { onEdit: data => {}, title: 'title', fields: {fieldName: 'Hello'}, }; doSomethingWithProps(props); // {..., fields: { fieldName: "hello" } }
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