Tengo una función a la que quiero pasar el nombre de la función miembro que debe ejecutar:
const gen = (N, inFunc) => { //inFunc = 'func1' or 'func2'
const func1 = () => {...}
const func2 = () => {...}
let func = this[inFunc] // doesn't work; no 'this' in an ES6 module
newFunc = func(); // nice try
}
¿Alguna solución?
Eso debería funcionar:
const gen = (N, inFunc) => {
const fns = {
func1: () => {...}
func2: () => {...}
}
let func = fns[inFunc]
newFunc = func();
}
sí, esto no iba a ayudar con eso ;-)
La respuesta de Konrad Linkowski está bien, pero tomé una ruta diferente (sugerida por barmar):
const gen = (N, inFunc) => { //inFunc = 'func1' or 'func2'
const func1 = () => {...}
const func2 = () => {...}
const funcs = {
func1, func2 }
let newFunc = funcs[inFunc]();
}