-3

(() => {
  alert("Anonima auto ejecutable");
         
})();

var cualquiera = (() => alert("Tipo expresion"))();

Como puedo hacerla como una función normal?

Osea function(){}

ya que:

cualquierFuncion() => alert("Error");

No funciona

Eduardo Sebastian
  • 4,908
  • 7
  • 30
  • 70
  • La pregunta no incluye información sobre lo buscado/investigado. Falta de una descripción de lo que se quiere lograr. – Rubén Aug 01 '17 at 17:59

3 Answers3

2

En tu primer ejemplo, estás encerrando la función de flecha dentro de una función anónima y ejecutándola pasándole los parámetros, en tu ejemplo no hace falta pasarle parámetros ya que no los necesita, por lo tanto la llamas (tuFuncion)(tusParametros).

Tu segundo ejemplo, no es ejecutable debido a que no está bien formado. Si quieres guardar la función anónima en una variable para posteriormente ejecutarla sería lo siguiente:

var someFunction = () => alert("Error");
someFunction();

O bien también podrías hacerlo en línea como tu primer ejemplo:

(() => alert("Error"))()

Para convertir una función de flecha a una función normal únicamente has de traducir la sintaxis:

var sumarNormalFunc = function (a, b) {
    return a + b;
}

sumarNormalFunc(5, 5);

var sumarArrowFunc = (a, b) => { 
    return a + b
};

sumarArrowFunc(5, 5);

Fuente: Enlace

dddenis
  • 3,923
  • 4
  • 24
  • 47
0

Para convertir una funcion flecha a una funcion normal, seria de esta manera:

var cualquiera = function() { alert("Tipo expression"); }
cualquiera();

Y la forma mas simple para hacer una funcion flecha seria:

var cualquierFuncion = ()=> alert("Expression flecha");

cualquierFuncion()
Einer
  • 20,190
  • 2
  • 14
  • 36
0

Está claro que si desea solo mostrar un alert estaría de más almacenar el resultado en una variable. Ya que no retornaría nada. (solo para este ejemplo , en otros escenarios es posible que requiera asignar el valor de retorno)

Entonces para convertir esta función a una normal y ejecutarla al mismo tiempo , se tendría que encerrar en paréntesis y al final hacer la llamada con ();

(function(){
  alert("Function cualquiera");
})();

/* Si no desea ejecutar al cargar , solo sería */
function funcionxy(){
  return alert("Function cualquiera");
}
/* Para luego hacer la llamada donde desee */

 /*funcionxy();*/

No olvidar revisar una explicación más detallada sobre esto Aquí

Dev. Joel
  • 23,229
  • 3
  • 25
  • 44
  • No respondes en nada a mi pregunta, pregunto lo equivalente a una funcion tipo funcion nombrefuncion(){} – Eduardo Sebastian Aug 01 '17 at 17:11
  • Perdón no he comprendido bien su pregunta entonces _ninguna de las tres respuestas al parecer_ A qué se refiere? Más que convertir su función flecha a los dos casos planteados en mi respuesta no creo que exista otra forma. Saludos y disculpas la demora en mi respuesta. Después de mucho recibo un - 1 en fin. – Dev. Joel Aug 01 '17 at 19:47