Я хотел бы сохранить функции в объекте и получить к ним доступ с помощью клавиши без вызова.
У меня есть объект с именем methods
с функциями, хранящимися с помощью клавиши string
. Он работает, если функция назначена вручную methods["myMethod"]
, но если я попытаюсь назначить ее переменной string
, я получаю ошибку:
element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ myMethod: () => void; }'.
. Как мне это понять?
const args = parse(Deno.args);
// Should I define type somehow?
// Maybe something like object<string;Function> in C-like languages?
const methods = {
"myMethod": (): void =>{
console.log("WOOOW");
}
}
if (args.m) {
const methodName: string = args.m;
// works
const method: Function = methods["myMethod"];
// Error: element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ myMethod: () => void; }'.
const methodFromArgs: Function = methods[methodName];
// go
method();
}