Cos’è JavaScript e come funziona
JavaScript è un linguaggio di programmazione interpretato e orientato agli eventi che permette a un browser di modificare una pagina web in tempo reale, in risposta a un clic, alla digitazione o al caricamento di un contenuto, senza doverla ricaricare da zero.
JavaScript in sintesi
- Cos’è: un linguaggio di programmazione nato nel 1995, standardizzato come ECMAScript (ECMA-262).
- Come funziona: un motore interno al browser lo interpreta ed esegue, modificando la struttura della pagina in risposta agli eventi dell’utente.
- Dove gira: nel browser come linguaggio lato client, oppure sul server tramite ambienti come Node.js.
- A cosa serve: interattività delle pagine, aggiornamenti senza ricaricamento, applicazioni web complesse, backend e app mobile.
- Varianti correlate: TypeScript aggiunge la tipizzazione statica allo stesso linguaggio, senza sostituirlo.
Cos’è JavaScript e da dove nasce
JavaScript nasce il 4 dicembre 1995, scritto da Brendan Eich per Netscape Communications. Il nome iniziale era Mocha, poi LiveScript: la rinomina in JavaScript arrivò mentre Netscape integrava il supporto a Java nel browser, ed è anche la radice della confusione che ancora oggi porta molti a pensare che i due linguaggi siano imparentati. Non lo sono: condividono solo parte della sintassi, derivata dal C.
Dal 1997 il linguaggio è regolato da uno standard, non da un singolo produttore: si chiama ECMAScript ed è pubblicato da ECMA International con la sigla ECMA-262. Vale qui una distinzione utile a chi si chiede chi decide come deve funzionare JavaScript: lo standard è la regola che ogni motore dovrebbe rispettare, mentre il modo in cui Chrome, Firefox o Safari la applicano in pratica è una condizione di quell’implementazione, e può avere piccole differenze. Lo standard viene aggiornato con un’edizione nuova ogni anno (l’ultima disponibile al momento è ECMAScript 2024, pubblicata a giugno 2024), quindi un dato su “l’ultima versione” va sempre letto con la data a cui si riferisce.
La documentazione tecnica di riferimento, quella che consiglio di tenere a portata di mano a chi scrive codice per il proprio sito, è MDN Web Docs: copre sintassi, metodi e compatibilità browser per browser, cosa che uno standard scritto in prosa giuridica non fa.
Come funziona JavaScript nel browser
Il browser carica la pagina, costruisce la sua rappresentazione interna e un motore JavaScript integrato (V8 in Chrome, SpiderMonkey in Firefox) legge il codice ed esegue le istruzioni, in genere senza una compilazione preventiva separata: la maggior parte dei motori moderni usa una compilazione JIT, cioè al volo, per guadagnare velocità rispetto alla pura interpretazione riga per riga.
La struttura su cui JavaScript agisce è il DOM, l’albero di elementi che il browser costruisce a partire dall’HTML: lo spiego più nel dettaglio nella pagina dedicata al Document Object Model (DOM), perché è un argomento che merita uno spazio proprio. Qui basta sapere che uno script può leggere un nodo del DOM, modificarne il contenuto o lo stile, e il browser ridisegna solo la parte interessata.
Il meccanismo che innesca tutto questo è l’evento: un clic, la digitazione in un campo, il caricamento completo della pagina. A ogni evento il motore associa una funzione, la esegue, e se quella funzione tocca il DOM la pagina cambia davanti all’utente senza una nuova richiesta al server. È il motivo per cui un menu a tendina si apre subito e un carosello di immagini scorre senza ricaricare nulla.
Lato client il codice che il browser esegue è leggibile da chiunque apra gli strumenti per sviluppatori: è una condizione architetturale che esula dall’attributo di questa pagina, ma incide su come si progettano form e pagamenti.
JavaScript lato client e lato server: le differenze
Nato per girare solo nel browser, JavaScript oggi gira anche sul server grazie ad ambienti di runtime come Node.js, e più di recente Deno e Bun. Lato client il motore sta dentro il browser dell’utente e può accedere solo alle risorse che il browser concede; lato server il motore gira sulla macchina che ospita il sito e può leggere un database, gestire l’autenticazione, costruire una API. È la stessa sintassi, due ambienti con permessi diversi.
È una domanda comune tra chi gestisce un sito: conviene passare tutto a JavaScript lato server abbandonando uno stack più tradizionale? La scelta dipende da cosa serve al sito, non dalla moda del momento: secondo un’analisi su PHP vs Next.js: performance, costi e scelte reali nel 2026 (2026), PHP alimenta ancora oltre il 75% dei siti web nel 2026, e un sito in PHP serve articoli tecnici in 200 millisecondi: un dato che ridimensiona l’idea che un linguaggio recente sia automaticamente più veloce di uno maturo per un contenuto editoriale statico.
Per un e-commerce o un sito di servizi la scelta tra PHP, Node.js o un altro linguaggio lato server dipende dal tipo di applicazione, non da JavaScript in sé: se il sito deve aggiornare in tempo reale grandi quantità di dati (una dashboard, una chat), un ambiente Node.js nato per gestire molte connessioni contemporanee ha un vantaggio naturale; se il sito pubblica contenuti e cataloghi che cambiano poco, la differenza di velocità percepita dall’utente è minima.
A cosa serve JavaScript
JavaScript serve a rendere interattiva una pagina che altrimenti resterebbe statica: un modulo che convalida i dati prima dell’invio, un menu che si apre al clic, una galleria che cambia immagine senza ricaricare la pagina.
Un secondo uso, altrettanto comune su siti e-commerce e applicazioni, è l’aggiornamento asincrono dei contenuti, la tecnica nota come AJAX: la pagina scambia dati con il server in background, così un feed si allunga mentre l’utente scorre o un carrello si aggiorna senza un nuovo caricamento completo.
Portando questa logica all’estremo si arriva alle SPA, applicazioni che caricano una sola pagina HTML e aggiornano tutto il resto via script: Google Maps, per esempio, funziona così quando si trascina la mappa senza che l’indirizzo nella barra cambi a ogni movimento.
Fuori dal browser, con Node.js, lo stesso linguaggio gestisce la logica di un server, un database o una API REST. Con framework dedicati come React Native o Electron, lo stesso codice JavaScript può compilare un’app mobile o un’applicazione desktop: è il motivo per cui un team può riusare competenze e parte del codice su frontend, backend e app, invece di imparare tre linguaggi diversi.
Java, JavaScript e TypeScript: le differenze che contano
Java e JavaScript condividono solo il nome, per una scelta di marketing di metà anni Novanta, senza alcuna parentela tecnica. Java è compilato e fortemente tipizzato, pensato per girare su qualunque ambiente tramite la sua macchina virtuale; JavaScript è interpretato (o compilato al volo) e tipizzato in modo debole e dinamico, pensato per il browser e poi esteso al server.
TypeScript è un discorso diverso: è un soprainsieme di JavaScript, cioè ogni programma JavaScript valido è anche un programma TypeScript valido, a cui si aggiunge la dichiarazione dei tipi. Il codice TypeScript non gira direttamente nel browser: viene prima convertito (si dice “compilato”) in JavaScript puro. Nella pratica, TypeScript riduce certi errori a tempo di scrittura, a costo di un passaggio di compilazione in più.
| Aspetto | Java | JavaScript | TypeScript |
|---|---|---|---|
| Esecuzione | Compilato per la Java Virtual Machine | Interpretato o compilato al volo (JIT) nel motore del browser/Node.js | Compilato in JavaScript prima dell’esecuzione |
| Tipizzazione | Statica e forte | Dinamica e debole | Statica, opzionale, verificata in fase di scrittura |
| Ambiente tipico | Backend enterprise, applicazioni Android | Browser, Node.js, app ibride | Progetti JavaScript di grandi dimensioni |
| Relazione con JavaScript | Nessuna, solo sintassi derivata dal C | È il linguaggio stesso | Soprainsieme che si compila in JavaScript |
Framework e librerie JavaScript più usati
Attorno a JavaScript è cresciuto un ecosistema di librerie e framework pensati per non riscrivere da zero le stesse funzioni: React, Angular e Vue.js sono i tre nomi che tornano più spesso per lo sviluppo frontend, mentre jQuery resta diffuso su siti più datati come libreria storica per semplificare la manipolazione del DOM.
Quale scegliere non è una domanda a cui rispondo mai in astratto: dipende dal team che dovrà mantenere il codice e dal tipo di sito. Ne ho scritto nel dettaglio nella pagina sui framework JavaScript, dove entro nei criteri di scelta.
Per avere un’idea di quanto velocemente cambino le preferenze della community, c’è il sondaggio State of JavaScript 2024, si è svolto dal 13 novembre al 10 dicembre 2024 e raccoglie da quel momento ogni anno le opinioni di migliaia di sviluppatori su framework, strumenti e novità del linguaggio: un buon termometro, non una classifica definitiva.
Cosa succede a un sito se JavaScript non funziona
Se una parte del contenuto o del menu di un sito esiste solo perché JavaScript la genera, quel contenuto non è presente nell’HTML che arriva per primo al browser: è una condizione tecnica rilevante perché riguarda anche come i motori di ricerca e i sistemi di intelligenza artificiale leggono la pagina. Un crawler che non esegue JavaScript, o che lo esegue con limiti, vede una pagina diversa da quella che vede un utente con il browser aperto.
È un tema rilevante per il posizionamento: Google di solito riesce a eseguire JavaScript ed indicizzare il contenuto generato dinamicamente, ma con tempi e risorse diversi rispetto a una pagina già completa in HTML, e non tutti i sistemi che leggono il web per rispondere alle domande degli utenti hanno le stesse capacità. Ne scrivo con più dettaglio nella pagina su che cosa sono gli LLM e in quella su come ottimizzare un sito per ChatGPT, perché la resa lato client è una delle variabili che incidono sulla visibilità in questi contesti.
Se il contenuto è generato lato client: verifica l’indicizzazione
Se un titolo, un prezzo o un testo compaiono solo dopo l’esecuzione di uno script, conviene controllare come appare la pagina disattivando JavaScript nello strumento per sviluppatori del browser, oppure confrontando l’HTML grezzo restituito dal server con quello visibile a schermo: se il contenuto che conta per l’utente manca in entrambi i casi, va spostato prima nel rendering o reso disponibile anche senza script.
Se il contenuto è già presente in HTML: nessuna azione necessaria
Se JavaScript nel sito serve solo per animazioni, interazioni secondarie o funzionalità che non toccano testo e dati essenziali, la sua eventuale assenza o un malfunzionamento del browser non cambia ciò che un motore di ricerca o un sistema di intelligenza artificiale leggono: in quel caso non c’è un intervento da fare su questo fronte.
Domande frequenti su JavaScript
Cos’è JavaScript e a cosa serve?
JavaScript è un linguaggio di programmazione interpretato che serve a rendere interattiva una pagina web: form che si validano prima dell’invio, contenuti che si aggiornano senza ricaricare, e, tramite Node.js, anche la logica di un server.
Java e JavaScript sono la stessa cosa?
No, sono due linguaggi distinti che condividono solo il nome e parte della sintassi: Java è compilato e fortemente tipizzato, JavaScript è interpretato e tipizzato in modo dinamico e debole.
Qual è la differenza tra TypeScript e JavaScript?
TypeScript è un soprainsieme di JavaScript che aggiunge la dichiarazione dei tipi: il codice TypeScript va compilato in JavaScript prima di poter girare nel browser, mentre JavaScript viene eseguito direttamente.
JavaScript si scarica o si installa?
JavaScript è integrato nel motore di ogni browser moderno e nell’ambiente Node.js se serve lato server, quindi non esiste un file da scaricare o installare per usarlo in una pagina web.
Come si abilita JavaScript nel browser?
Si abilita dal menu impostazioni del browser installato, nella sezione dedicata a privacy, sicurezza o permessi dei siti: la posizione esatta della voce JavaScript cambia tra Chrome, Firefox, Safari ed Edge.
Cosa succede se JavaScript è disabilitato su un sito?
Se il sito usa JavaScript per generare contenuto essenziale, quel contenuto non appare e menu, form o aggiornamenti dinamici smettono di funzionare; se JavaScript serve solo per effetti accessori, il resto della pagina continua a funzionare normalmente.
Quali sono i framework JavaScript più usati?
I nomi che tornano più spesso per lo sviluppo frontend sono React, Angular e Vue.js, mentre jQuery resta diffuso su siti più datati come libreria per semplificare la manipolazione del DOM.
Fonti e riferimenti
- PHP vs Next.js: performance, costi e scelte reali nel 2026 (2026) www.davidemancuso.studio
- State of JavaScript 2024 (2024) survey.devographics.com