1. Introduzione
JavaScript è un linguaggio di programmazione essenziale nello sviluppo web moderno. In particolare, quando si controlla il comportamento dei link o si gestiscono valori non definiti, espressioni come “void 0” e “javascript:void(0)” sono frequentemente utilizzate.
Queste espressioni possono risultare confuse per i principianti, ma un loro uso corretto può migliorare sia la leggibilità sia la funzionalità. Questo articolo spiega il significato e i casi d’uso di “void 0” e “javascript:void(0)” e presenta le migliori pratiche negli ambienti di sviluppo attuali.
Leggendo questo articolo imparerai:
- Cos’è “void 0” e quale ruolo svolge
- Esempi d’uso e lo scopo di “javascript:void(0)”
- Metodi di implementazione moderni usando alternative più sicure
Da qui in poi, percorreremo le basi e gli esempi pratici di “void 0” in JavaScript.
2. Che cos’è void 0?
Il ruolo base di void 0
“void 0” si scrive così:
console.log(void 0); // undefined
Questo codice restituisce sempre “undefined”.
Differenza da undefined
In JavaScript, “undefined” è una variabile e può essere sovrascritta accidentalmente. Per esempio:
var undefined = "test";
console.log(undefined); // "test"
Se “undefined” viene sovrascritto, perde il suo significato originale.
Per evitare ciò, tradizionalmente si è usato “void 0” come metodo garantito per restituire “undefined”.
Esempio d’uso
Di seguito un esempio di ritorno esplicito di “undefined” da una funzione.
function example() {
return void 0;
}
console.log(example()); // undefined
Casi d’uso pratici di void 0
- Controllare un valore non inizializzato
var value = void 0; console.log(value === undefined); // true
- Controllo sicuro dei link
<a href="javascript:void(0)">Link</a>
In questo esempio, il click sul link non porta a un’altra pagina.

3. Significato e utilizzo di javascript:void(0)
Che cos’è javascript:void(0)?
“javascript:void(0)” utilizza l’operatore JavaScript “void” per restituire “undefined”.
<a href="javascript:void(0)">A link that does not navigate</a>
Il click su questo codice non provoca alcuna navigazione o azione della pagina.
Esempi d’uso
- Eseguire JavaScript al click di un pulsante
<a href="javascript:void(0)" onclick="alert('Clicked!')">Button</a>
- Validazione di un form
<a href="javascript:void(0)" onclick="validateForm()">Submit</a>
Qui la transizione della pagina è impedita finché la validazione del form non è completata.
4. Problemi e rischi di javascript:void(0)
Impatto negativo sulla SEO
I motori di ricerca potrebbero non indicizzare correttamente i link che usano lo schema javascript:.
Per i siti attenti alla SEO, questa pratica dovrebbe essere evitata.
Accessibilità ridotta
I lettori di schermo possono trattare “javascript:void(0)” come un link normale, generando un comportamento poco chiaro per gli utenti che si affidano a tecnologie assistive.
Problemi quando JavaScript è disabilitato
Se JavaScript è disattivato, “javascript:void(0)” non funziona affatto, portando a un’esperienza utente degradata.
5. Alternative a javascript:void(0)
1. Utilizzare il tag <button>
Usare un elemento button mantiene una struttura HTML corretta consentendo al contempo il pieno controllo tramite JavaScript.
<button type="button" onclick="alert('Clicked!')">Click</button>
2. Combinare il tag <a> con event.preventDefault()
<a href="#" onclick="event.preventDefault(); alert('Clicked!')">Click</a>
Questo metodo impedisce la navigazione della pagina usando JavaScript mantenendo href="#" per compatibilità SEO e accessibilità.

6. Riepilogo di javascript:void(0)
Revisione dei punti chiave
- “javascript:void(0)” disabilita il comportamento predefinito del link ed esegue solo gli eventi JavaScript.
- Tuttavia, presenta svantaggi per SEO e accessibilità, rendendolo inadatto allo sviluppo moderno.
- Alternative più sicure e flessibili includono l’uso del tag
<button>o dievent.preventDefault().
7. Best practice consigliate
1. Mantenere una struttura HTML semantica
Utilizza tag HTML significativi e semanticamente appropriati (ad es., <button>, <form>) per garantire una corretta SEO e accessibilità.
2. Gestire il Controllo degli Eventi in JavaScript
Utilizza i listener di eventi e preventDefault() per gestire le interazioni in modo flessibile e moderno.
3. Migrare dal Codice Legacy
Se il codice esistente utilizza “javascript:void(0)”, considera di sostituirlo gradualmente con alternative moderne.
8. Conclusione
Considerazioni Generali
- “void 0” restituisce sempre “undefined”, aiutando a prevenire la sovrascrittura involontaria del valore globale
undefined. - “javascript:void(0)” disabilita la navigazione del link ed è usato per controllare l’esecuzione di JavaScript, ma introduce problemi di SEO e accessibilità.
- Lo sviluppo web moderno raccomanda l’uso di tag HTML semantici e
preventDefault()per un comportamento più sicuro e basato sugli standard.
Consiglio Finale
Sebbene “void 0” e “javascript:void(0)” siano state tecniche utili storicamente, non sono sempre scelte ideali nello sviluppo JavaScript moderno.
Per i nuovi progetti, si consiglia di adottare approcci aggiornati che diano priorità a SEO, accessibilità e manutenibilità.
Costruisci una solida comprensione di questi concetti e applicali efficacemente nello sviluppo reale.



