I have an object like this:
const obj = {
user_name: 'user2',
user_desc: 'desc 2'
}
Now I’m calling an onclick function that specifies which parameter to get from the object
function myFunction (key_name : string) {
// as my constant is of type object, I can get data from keys as
console.log(obj[key_name])
}
My function is running fine but typescript is giving me an error
Element implicitly has an ‘any’ type because expression of type ‘string’ can’t be used to index type ‘{}’
How do I go about getting rid of this error?
Thanks
>Solution :
You can create an interface to describe data shapes
interface Obj {
user_name: string;
user_desc: string;
}
const obj: Obj = {
user_name: 'user2',
user_desc: 'desc 2',
};
function myFunction(key_name: keyof Obj) {
console.log(obj[key_name]);
}
myFunction('user_name');