JavaScript Void 0 – ¿Qué significa javascript:void(0);?

La palabra void significa «espacio completamente vacío» según el diccionario. Este término, cuando se utiliza 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 void, significa que la función no devuelve nada. Esto es similar a las funciones en JavaScript que devuelven undefined explícitamente, así:

function und() { return undefined}und()

o implícitamente, así:

function und() {}und()

Independientemente de las expresiones y afirmaciones de las funciones anteriores (suma 2 números, encuentra la media de 5 números, lo que sea), no se devuelve ningún resultado.

Ahora sabemos de qué va la palabra clave void. Qué pasa con 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 href en 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:

<a href="javascript:console.log('javascript');alert('javascript')">Link</a>

Cuando se hace clic en «Link», este es el resultado:

Como se ve arriba, el navegador no trata href como una ruta referenciada. En su lugar, lo trata como un código JavaScript que comienza después de «javascript:» y está separado por puntos y comas.

void(0)

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

Por ejemplo:

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

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

<body> <h1>Heading</h1> <script> void(document.body.style.backgroundColor = 'red', document.body.style.color = 'white' ) </script></body>

El resultado del código anterior es:

Aquí tienes otro ejemplo:

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

Combinando javascript: y void(0)

A veces, no quieres que un enlace navegue a otra página o recargue una página. Usando javascript:, puedes ejecutar código que no cambie la página actual.

Esto, usado con void(0) significa, no hacer nada – no recargar, no navegar, no ejecutar ningún código.

Por ejemplo:

<a href="javascript:void(0)">Link</a>

La palabra «Link» es tratada como un enlace por el navegador. Por ejemplo, es enfocable, pero no navega a una nueva página.

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

El código JavaScript (como se ha visto anteriormente) también se puede pasar como argumentos al método void. Esto hace que el elemento enlace ejecute algo de código pero mantiene la misma página.

Por ejemplo:

<a href="javascript:void( document.querySelector('#link').style.color = 'green')">Link</a>

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

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

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

Conclusión

En este artículo simplificado, hemos aprendido qué es el operador void, cómo funciona y cómo se utiliza con la javascript: pseudo URL para los atributos href de los enlaces.

Esto asegura que una página no navega a otra página o recarga la página actual cuando se hace clic.

Deja una respuesta

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