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

245
Visualizações
El elemento TypeScript implícitamente tiene un 'cualquiera'

Tengo algunos problemas con TypeScript. Estoy tratando de transformar algún valor que proviene del componente principal al secundario. Parent está enviando un valor que puede ser EN, FR o NL, y esos valores que debo transformar en números, así que hice eso:

 const transform_translation = { 'EN': 1, 'FR': 2, 'NL': 3 };

Pero cuando trato de obtener valor como transform_translation[props.language] , dice;

S7053: El elemento tiene implícitamente un tipo 'cualquiera' porque la expresión de tipo 'cualquiera' no se puede usar para indexar el tipo '{ EN: número; FR: número; Países Bajos:

Accesorios:

 props: { language: { type: String, default: ['EN', 'NL', 'FR'], required: true }, . . . }

¿Cómo debo definirlos entonces? Trabajo por primera vez con TS por cierto.

número; }'.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Debe decirle a ts que lo que está pasando no es solo una cadena, sino que se limita a las claves disponibles de los idiomas que tiene:

 const transform_translation = { EN: 1, FR: 2, NL: 3 }; // create type out of valid keys of object type Language = keyof typeof transform_translation; const getLanguageNum = (lang: Language) => transform_translation[lang]; console.log(getLanguageNum("EN")); // 1
about 4 years ago · Juan Pablo Isaza Relatório

0

Crearía una enumeración o escribiría para la clave de esa manera. Luego, al acceder a él, puede convertir la clave en el tipo de la siguiente manera

 type ITransformTranslationKey = 'EN' | 'FR' | 'NL'; const transform_translation: Record<ITransformTranslationKey, number> = { 'EN': 1, 'FR': 2, 'NL': 3 }; const someVar: ITransformTranslationKey = 'E' + 'N'; // you can define the type here transform_translation[someVar as ITransformTranslationKey] // or here
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