El operador void de JavaScript evalúa una expresión y devuelve undefined
.
Puedes usar la consola para verificar esto:
Nota: void, independientemente del valor que se le pase, *siempre devuelve undefined como se muestra arriba*. Pero, es preferible usar void con el operando 0.
Hay dos maneras de usar el operando 0: void(0) ó void 0. Cualquiera de las dos está bien.
Cuando usar JavaScript void(0)
Usa javaScript:void(0) si, al hacer clic en un enlace, no quieres que el navegador abra una nueva página o refresque la página actual (dependiendo de la URL especificada).
En cambio, solo ejecutará el JavaScript que esté adjunto a ese enlace.
Ejemplo 1 con JavaScript void(0):
<html>
<body>
<a href="javascript:void(0);alert('¡Hola! Estoy aquí')">Aceptar</a>
</body>
</html>
Resultado:
Cuando alguien da clic en el enlace Dame clic, aparecerá una alerta como se muestra a continuación:
Ejemplo 2 con JavaScript void(0):
<html>
<body>
<a href="javascript:void(0)" ondblclick="alert('Hola, no refresqué la página')" )>Aceptar</a>
</body>
</html>
Resultado:
Cuando le das doble clic al enlace, aparecerá una alerta sin actualizar la página.
Ejemplo 3 con JavaScript void(0):
<html>
<body>
<a href="javascript:void(0);https://www.google.com/"
ondblclick="alert('¡Hola! Me verás y no te redirigiré a google.com')">Aceptar</a>
</body>
</html>
Resultado:
Cuando le das doble clic al enlace, aparecerá una alerta. Cerrándola tampoco te redirigirá a google.com.
Ejemplo 4 sin JavaScript void(0):
<html>
<body>
<a href="https://www.google.com/" ondblclick="alert('¡Hola! Me verás y te redirigiré a google.com incluso si no lo necesitas')">Aceptar</a>
</body>
</html>
Resultado:
Cuando le das doble clic al enlace, aparecerá una alerta, pero al cerrarla te redirigirá a google.com.
Conclusión
El operador void es útil cuando quieres evitar cualquier actualización o redirecciones de página no deseadas. En vez de eso, ejecuta alguna operación de JavaScript.
Más información:
Traducido del artículo - What Does JavaScript:Void(0) Mean?