Funciones anónimas de JavaScript

En este artículo estudiaremos en detalle qué son exactamente las Funciones Anónimas en JavaScript y cómo declararlas usando la técnica normal y/o con la propia técnica de la Función Flecha.

Función anónima es una función que no tiene ningún nombre asociado. Normalmente usamos la palabra clave de función antes del nombre de función para definir una función en JavaScript, sin embargo, en funciones anónimas en JavaScript, usamos solo la palabra clave de función sin el nombre de función.

No se puede acceder a una función anónima después de su creación inicial, solo se puede acceder a ella mediante una variable en la que está almacenada como una función como un valor . Una función anónima también puede tener múltiples argumentos, pero solo una expresión.

Sintaxis: 

La siguiente sintaxis iluminada ilustra la declaración de una función anónima usando una declaración normal:

function() {
    // Function Body
 }

También podemos declarar una función anónima utilizando la técnica de función de flecha que se muestra a continuación:

( () => {
    // Function Body...
} )();

Los siguientes ejemplos demuestran funciones anónimas.

Ejemplo 1: En este ejemplo, definimos una función anónima que imprime un mensaje en la consola. Luego, la función se almacena en la variable de saludo . Podemos llamar a la función invocando greeting().

Javascript

<script>
var greet = function () {
    console.log("Welcome to GeeksforGeeks!");
};
 
greet();
</script>

Producción:

Welcome to GeeksforGeeks!

Ejemplo 2: En este ejemplo, pasamos argumentos a la función anónima.

Javascript

<script>
var greet = function (platform) {
    console.log("Welcome to ", platform);
};
 
greet("GeeksforGeeks!");
</script>

Producción:

Welcome to GeeksforGeeks!

Como JavaScript admite funciones de orden superior, también podemos pasar funciones anónimas como parámetros a otra función.

Ejemplo 3: En este ejemplo, pasamos una función anónima como función de devolución de llamada al método setTimeout() . Esto ejecuta esta función anónima 2000 ms después.

Javascript

<script>
setTimeout(function () {
    console.log("Welcome to GeeksforGeeks!");
}, 2000);
</script>

Producción:

Welcome to GeeksforGeeks!

Otro caso de uso de funciones anónimas es invocar la función inmediatamente después de la inicialización, esto también se conoce como función autoejecutable . Esto se puede hacer agregando paréntesis, podemos ejecutar inmediatamente la función anónima.

Ejemplo 4: En este ejemplo, hemos creado una función autoejecutable.

Javascript

<script>
(function () {
    console.log("Welcome to GeeksforGeeks!");
})();
</script>

Producción:

Welcome to GeeksforGeeks!

Funciones de flecha

ES6 introdujo una forma nueva y más corta de declarar una función anónima, que se conoce como funciones de flecha. En una función de flecha, todo permanece igual, excepto que aquí tampoco necesitamos la palabra clave de función . Aquí, definimos la función con un solo paréntesis y luego ‘=>’ seguido del cuerpo de la función.

Ejemplo 5:

Javascript

<script>
var greet = () =>
{
    console.log("Welcome to GeeksforGeeks!");
}
 
greet();
</script>

Producción:

Welcome to GeeksforGeeks!

Si solo tenemos una declaración en el cuerpo de la función, incluso podemos quitar las llaves.

Ejemplo 6: En este ejemplo, creamos una función autoejecutable.

Javascript

<script>
  let greet = () => console.log("Welcome to GeeksforGeeks!");
  greet();
</script>

Producción:

Welcome to Geeksforgeeks! 

Ejemplo-7: En este ejemplo, declararemos una función anónima autoejecutable (sin nombre en sí) y veremos cómo podemos declararla y cómo podemos llamarla para imprimir el valor resultante.

Javascript

// JavaScript code..
 
(() => {
  console.log("GeeksforGeeks");
})();
 
// This code is contributed by Aman Singla...

Producción:

GeeksforGeeks

Publicación traducida automáticamente

Artículo escrito por argha_c14 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *