es solo un experimento
Puedo pasar el parámetro ass del nombre de la función, pero se llama la función del mismo nombre.
function refreshContactList(id) { console.log(`Hello World ${id}`); } function addContact(id, refreshCallback) { refreshCallback(id); } addContact(1, refreshContactList);como eso.
pero quiero cambiar el nombre de la función, entonces cambia el nombre de la función así (imagen)
function addContact(id, refreshCallback) { function refreshCallback(id) { console.log(`Hello World ${id}`); } } addContact(1, refreshContactList);¿hay alguna manera de lograr eso?
¿Están las funciones anidadas que desea?
function addContact(id) { function anotherThing() { console.log(`Hello World ${id}`); } return { anotherThing }; } addContact(1).anotherThing();En su imagen, no pasa el nombre de la función sino la referencia a esta función. Si realmente desea llamar a la función de nivel superior por el nombre dado (es decir, por la cadena con el nombre de esta función), puede usar un método multiplataforma que funciona igualmente bien en node.js, navegadores (tradicionalmente , excepto Internet Explorer) y otras plataformas: globalThis :
function a() { console.log('a') } function b() { console.log('b') } function callByName(name) { globalThis[name] } callByName(a)