Menu

Commenti in JavaScript: //, /* */ e quando usarli

Come funzionano i commenti in JavaScript: // per una riga, /* */ per i blocchi e le abitudini che rendono i commenti davvero utili invece che rumore.

Questa pagina include editor eseguibili: modifica, esegui e vedi subito l'output.

Due tipi di commenti

JavaScript ha due sintassi per i commenti. Un commento su una riga inizia con // e arriva fino alla fine della riga:

Un commento a blocco inizia con /* e finisce al successivo */. Può occupare tutte le righe che vuoi:

Entrambe le forme vengono completamente ignorate dal motore JavaScript. Esistono per le persone: per te, per i tuoi colleghi e per il te del futuro che rileggerà questo codice tra sei mesi.

Commenti su una riga

// è quello che userai di più. Tutto ciò che si trova sulla stessa riga dopo // è un commento; la riga successiva torna a essere codice:

I commenti in coda (dopo un'istruzione) vanno bene per note brevi. Se la nota diventa così lunga da andare a capo, spostala su una riga a sé sopra il codice: i commenti in coda lunghi vengono tagliati dagli editor e ignorati da chi legge.

Commenti a blocco

/* */ è utile in due casi: un commento che ha bisogno di più di una riga e un commento che sta in mezzo a un'espressione.

Una trappola: i commenti a blocco non si annidano. Il primo */ chiude il commento, anche se pensavi di essere ancora dentro uno esterno:

/* outer /* inner */ still outer */
// SyntaxError - the first */ closed the block,
// and "still outer */" is now invalid code.

Se devi commentare codice che contiene già /* */, usa invece // su ogni riga.

Commentare il codice

Durante il debug vorrai spesso disattivare temporaneamente qualche riga. Funzionano entrambe le forme di commento:

Ogni editor ha una scorciatoia per questo, Ctrl+/ su Windows/Linux e Cmd+/ su Mac, che attiva o disattiva // sulle righe selezionate. Imparala una volta: la userai ogni giorno.

Il codice commentato dovrebbe essere temporaneo. Non fare commit di cimiteri di codice morto con sopra // old version, keep just in case. Il controllo di versione si ricorda il vecchio codice al posto tuo. Cancellalo.

Commenta il perché, non il cosa

È l'unica regola che separa i commenti utili dal rumore. Il codice mostra già cosa fa. Un buon commento spiega perché.

Rumore:

Questi commenti non dicono a chi legge niente che il codice non dicesse già. Confronta con:

Entrambi i commenti si riferiscono a qualcosa che chi legge non potrebbe capire dal solo codice: un vincolo esterno, una stranezza documentata. È questo il livello da raggiungere. Se togliendo il commento nessuno resterebbe confuso, il commento non stava facendo il suo lavoro.

JSDoc: commenti letti dagli strumenti

JSDoc è una convenzione per scrivere commenti a blocco che descrivono le funzioni in modo strutturato. Editor e type checker li leggono e ti danno un completamento automatico e una documentazione al passaggio del mouse migliori:

È l'apertura /** (due asterischi) a identificarlo come JSDoc invece che come normale commento a blocco. Non ti serve JSDoc su ogni funzione: conviene soprattutto per le API pubbliche, le utility condivise e ovunque i tipi non siano già ovvi dal codice.

Qualche abitudine da mantenere

  • Tieni i commenti vicino al codice che descrivono. Un commento dieci righe sopra la riga a cui si riferisce tende a perdere la sincronia man mano che il codice cambia.
  • Aggiorna i commenti quando cambi il codice. Un commento obsoleto è peggio di nessun commento: mente attivamente a chi legge dopo di te.
  • Preferisci nomi migliori a più commenti. const d = 86400000; ha bisogno di un commento. const MILLISECONDS_PER_DAY = 86_400_000; no.
  • Segnala i problemi temporanei con TODO: o FIXME:. Quasi tutti gli editor li evidenziano, e sono facili da ritrovare con grep in seguito.

Una nota su commenti HTML e JavaScript

Se scrivi JavaScript dentro un file HTML, non confondere i due stili di commento. L'HTML usa <!-- -->; JavaScript usa // e /* */. Dentro un tag <script> funzionano solo le forme di JavaScript:

<script>
    // Corretto: commento JS dentro <script>
    /* Anche questo è corretto */
    <!-- Sbagliato: questo è un commento HTML e romperà il tuo JS -->
    console.log("ciao");
</script>

Per ragioni legate a browser antichissimi, storicamente i browser tolleravano <!-- --> dentro gli script, ma consideralo sbagliato e vai avanti.

Prossimo passo: dichiarare le variabili

Ora che sai annotare il codice, è il momento di scriverne un po'. JavaScript ha tre modi per dichiarare una variabile, let, const e var, e scegliere quello giusto è la prima vera decisione che prenderai su ogni riga. È il prossimo argomento.

Domande frequenti

Come si scrive un commento in JavaScript?

Usa // per un commento su una riga: tutto ciò che segue su quella riga viene ignorato. Usa /* ... */ per un commento a blocco che può occupare più righe. Entrambi funzionano ovunque in un file .js e dentro i tag <script> in HTML.

Che differenza c'è tra // e /* */ in JavaScript?

// arriva fino alla fine della riga corrente e lì si ferma. /* */ inizia a /* e finisce al successivo */, quindi può occupare più righe o stare in mezzo a un'espressione. Usa // per note brevi, /* */ quando ti serve più di una riga o vuoi annotare una parte di un'espressione.

Come si commenta un blocco di codice in JavaScript?

Racchiudilo in /* */, oppure metti // all'inizio di ogni riga. Quasi tutti gli editor hanno una scorciatoia: Ctrl+/ (Cmd+/ su Mac) attiva o disattiva i commenti // sulle righe selezionate. Evita di annidare /* */ dentro un altro /* */: il primo */ chiude il commento esterno e otterrai un errore di sintassi.

Quando conviene scrivere un commento?

Commenta il perché, non il cosa. Se il codice fa qualcosa di non ovvio (un workaround, una regola di business, un trucco per le prestazioni), spiega il motivo. Non raccontare quello che il codice dice già. Una variabile o una funzione con un buon nome elimina il bisogno della maggior parte dei commenti.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA