JavaScript Void 0 - ¿Qué hace javascript: void (0); ¿Media?

La palabra vacío significa "espacio completamente vacío" según el diccionario. Este término, cuando se usa en programación, se refiere a un retorno de "nada" - un "valor vacío" por así decirlo.

¿Qué es la palabra clave void?

Cuando una función es nula, significa que la función no devuelve nada. Esto es similar a las funciones en JavaScript que regresan undefinedexplícitamente, así:

function und() { return undefined } und() 

o implícitamente, así:

function und() { } und() 

Independientemente de las expresiones y declaraciones en las funciones anteriores (suma 2 números, encuentra el promedio de 5 números, lo que sea), no se devuelve ningún resultado.

Ahora sabemos de qué se voidtrata la palabra clave. ¿Qué hay de javascript:void(0)?

¿Qué es javascript:void(0)?

Si dividimos esto, tenemos javascript:y void(0). Veamos cada parte con más detalle.

javascript:

Esto se conoce como una pseudo URL . Cuando un navegador recibe este valor como el valor de hrefen una etiqueta de anclaje, interpreta el código JS que sigue a los dos puntos (:) en lugar de tratar el valor como una ruta referenciada.

Por ejemplo:

Link 

Cuando se hace clic en "Enlace", este es el resultado:

Como se vio anteriormente, el navegador no lo trata hrefcomo una ruta de referencia. En cambio, lo trata como un código JavaScript que comienza después de "javascript:" y está separado por punto y coma.

void(0)

El operador void evalúa expresiones dadas y devuelve undefined.

Por ejemplo:

const result = void(1 + 1); console.log(result); // undefined 

1 + 1se evalúa pero undefinedse devuelve. Para confirmarlo, aquí hay otro ejemplo:

Heading

void(document.body.style.backgroundColor = 'red', document.body.style.color = 'white' )

El resultado del código anterior es:

Aquí hay otro ejemplo:

console.log(void(0) === undefined) // true 

Combinando javascript:yvoid(0)

A veces, no desea que un enlace navegue a otra página o vuelva a cargar una página. Usando javascript:, puede ejecutar código que no cambia la página actual.

Esto, usado con void(0)medios, no hace nada : no recargue, no navegue, no ejecute ningún código.

Por ejemplo:

Link 

El navegador trata la palabra "Enlace" como un enlace. Por ejemplo, se puede enfocar, pero no navega a una nueva página.

0es un argumento que se pasa a voidque no hace nada y no devuelve nada.

El código JavaScript (como se ve arriba) también se puede pasar como argumentos al voidmétodo. Esto hace que el elemento de enlace ejecute algún código pero mantiene la misma página.

Por ejemplo:

Link 

Cuando se hace clic en el botón, este es el resultado:

Con void, le dice al navegador que no devuelva nada (o devuelva undefined).

Otro caso de uso de los enlaces con la javascript:void(0)referencia es que, a veces, un enlace puede ejecutar código JavaScript en segundo plano y la navegación puede ser innecesaria. En este caso, las expresiones se usarían como argumentos pasados void.

Conclusión

En este artículo simplificado, hemos aprendido qué es el voidoperador, cómo funciona y cómo se usa con la javascript:pseudo URL para los hrefatributos de los enlaces.

Esto asegura que una página no navegue a otra página ni vuelva a cargar la página actual cuando se hace clic en ella.