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:

  1. Documento de Mozilla

Traducido del artículo - What Does JavaScript:Void(0) Mean?