elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [js][duda] como y cuando usar "!function" (para que sirve)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [js][duda] como y cuando usar "!function" (para que sirve)  (Leído 2,251 veces)
.:Xx4NG3LxX:.

Desconectado Desconectado

Mensajes: 202



Ver Perfil WWW
[js][duda] como y cuando usar "!function" (para que sirve)
« en: 27 Noviembre 2020, 04:05 am »

Hello friends....

He visto varios JavaScripts que incluyen !function, por más que he buscado y buscado no encontré nada. Esperaba que me pudiesen orientar en esto.

¿Es algún tipo especial de función?
¿Cuándo aplicarlo y cuando no?
¿Es la única que hay de ese tipo? (Es decir, ¿no existe otra keyword que sea algo por el estilo?)

Gracias y saludos..


En línea

"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
Re: [js][duda] como y cuando usar "!function" (para que sirve)
« Respuesta #1 en: 27 Noviembre 2020, 13:39 pm »

El operador ! es el operador de negación. Algunas veces se utiliza antes de la keyword function para convertirla en una function expression. Si le añades paréntesis se produce la llamada a la función retornando true (porque las function expression llamadas de esta forma retornan undefined y el operador ! (not) retorna un booleando con el valor contrario al especificado. Es decir, si era valor positivo pasa a negativo y si era negativo pasa a positivo. Ej:
La función:
function saludar() { alert("Hola") }
Puedes crearla e invocarla con:
!function saludar() { alert("Hola") }();


La forma más frecuente de realizar esto es utilizando la sintaxis:
(function saludar() { alert("Hola") })();
Utilizando el ! se ahorra un caracter, pero esta forma de hacerlo si retorna el valor de retorno de la función. Si le sumas que puedes utilizar la sintaxis de function arrow de ES6+:
alert( (() => 5 * 5)() );
suma( (numero => numero * 5)(), 8);
suma( (numero => numero * 5)(), (otroNumero => numero * 7)() );

Suele ser bastante práctico para usar como parámetros de otras funciones, crear closures, encapsular el scope, ahorrar código...


En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines