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: