Element implicitly has an ‘any’ type because expression of type ‘string’ can’t be used to index type

Con el fabuloso c si creamos un diccionario para acceder a datos, (el clickbait sería: «Deja de usar Switch» 😂😂 pero no suelen mostrarlo con TS ¿Quizás porque el tipado no queda elegante?).

La solución para que deje de arrojarnos error sería:

/**
 * Element implicitly has an 'any' type because
 * expression of type 'string' can't be used to
 * index type 'InterfaceName'.
 */

const keyToShow: string = 'username';

interface User {
  username: string;
  email: string;
}

const user: User = {
  username: 'Kike Beltrán',
  email: 'hello@email.com',
};

console.log(user[keyToShow as keyof User]);

Podemos verlo funcionando (y trastear) en:


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*