(() => {
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
(() => {
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
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
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()
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í