Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

244
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!