Che cos'è il formato di file JS?
I file .js memorizzano il codice sorgente scritto nel linguaggio di programmazione JavaScript. Il codice .js può essere incorporato nei siti web e utilizzato per verificare i dati di input, manipolare le finestre del browser o creare gallerie di immagini interattive. Sebbene JavaScript sia nato principalmente come tecnologia front-end, ora viene eseguito anche lato server attraverso runtime come Node.js, Deno e Bun, rendendolo un linguaggio full-stack. Il codice JavaScript può essere salvato direttamente nei file HTML, ma tale pratica ne limita la portabilità. La soluzione più comune è utilizzare file .js dedicati che possono essere riutilizzati in molti siti web o progetti.
Il codice JavaScript non richiede una Java virtual machine per essere eseguito. JavaScript non è correlato in alcun modo al linguaggio di programmazione Java - solo il nome è simile. Il codice .js non è protetto dalla visualizzazione da parte degli utenti; il sorgente è leggibile in qualsiasi editor di testo o nei DevTools del browser. Molti file .js sono liberamente disponibili al pubblico e possono essere utilizzati gratuitamente sui siti web. Il codice contenuto in file .js con licenza libera può essere modificato e ridistribuito secondo i termini dell'open-source.
Il JavaScript moderno supporta due sistemi di moduli: moduli ES (che utilizzano import/export, distribuiti anche come file .mjs) e CommonJS (che utilizzano require/module.exports). I dati scambiati tra script e server sono comunemente memorizzati come JSON. I progetti che necessitano di un controllo statico dei tipi utilizzano TypeScript, un superset tipizzato che viene compilato nuovamente in .js.
Sicurezza e incolumità
RISCHIO: HIGHIn un browser web, JavaScript viene eseguito in una sandbox ed è relativamente sicuro. Il pericolo è su Windows: fare doppio clic su un file .js sciolto lo esegue tramite Windows Script Host (WSH) con i privilegi completi del tuo account - nessuna sandbox. Gli allegati .js malevoli (spesso all'interno di ZIP, a volte chiamati fattura.js / documento.js) sono un modo ben noto per distribuire ransomware e trojan. Regole: mai fare doppio clic su un .js ricevuto via e-mail o scaricato; aprilo prima in un editor di testo per leggerlo; mantieni visibili le estensioni dei file di Windows in modo che un «foto.jpg.js» non possa mascherarsi. Sul web, carica solo script da fonti affidabili e usa gli hash Subresource Integrity (SRI) per gli script di terze parti.
Dettagli del formato
in sintesi- Script JScript / Windows Script Host - Su Windows, un doppio clic su .js viene eseguito in WSH (cscript/wscript) con accesso completo al sistema - un classico vettore di malware, non una sandbox del browser.
- Configurazione JACOsub / JetScript / Netscape (legacy) - La vecchia documentazione elencava .js per gli script dei sottotitoli JACOsub e le impostazioni di Netscape; obsoleti ed effettivamente inutilizzati oggi.
Programmi che aprono file JS
Dettagli tecnici
specifiche approfondite| Tipo MIME | text/javascript (primario); anche application/javascript, text/ecmascript, application/ecmascript |
| Codifica del testo | UTF-8 (richiesto per i moduli ES e la distribuzione web); i file legacy possono essere ASCII o Latin-1 |
| Firma del file (magic bytes) | Nessuna - formato di testo semplice; identificato dall'estensione .js e dal contenuto, non dai byte dell'intestazione |
| Formato contenitore | Testo semplice - istruzioni, funzioni ed espressioni leggibili dall'uomo eseguite dall'alto verso il basso |
| Sistemi di moduli | Moduli ES (import/export) e CommonJS (require/module.exports); risolti tramite il campo «type» di package.json |
| Ambienti di esecuzione | Tutti i principali browser (Chrome V8, Firefox SpiderMonkey, Safari JavaScriptCore) e runtime server (Node.js, Deno, Bun) |
| Dimensione tipica del sorgente | Da 1 KB a poche centinaia di KB per file; i bundle di produzione possono raggiungere diversi MB |
| Consegna in produzione | Minificato (rimozione spazi bianchi e accorciamento identificatori), quindi compresso con gzip o Brotli per il trasferimento HTTP |
| Verifica dell'integrità | Subresource Integrity (SRI) - hash sha256/sha384/sha512 nell'attributo <script integrity="..."> dell'HTML |
| Paradigma del linguaggio | Multi-paradigma: orientato agli oggetti basato su prototipi, funzionale ed orientato agli eventi |
| Estensioni di disambiguazione | .mjs (modulo ES esplicito), .cjs (CommonJS esplicito), .jsx (sintassi React JSX), .ts (superset TypeScript) |
| Visibilità del sorgente | Il sorgente è sempre leggibile dall'uomo; l'offuscamento è estetico, non una protezione crittografica |
| Organismo di standardizzazione | Ecma International (comitato TC39) - standard ECMA-262; nuova edizione pubblicata annualmente |
| Supporto Shebang | I file lato server possono iniziare con #!/usr/bin/env node per essere eseguiti direttamente come script di shell |
| Source maps | I file minificati sono associati a file .map (JSON) per mappare l'output compilato alle linee sorgenti originali |
| Rilasciato | 1995 (Netscape Navigator 2.0); ECMA-262 1st edition 1997 |
| Ultima versione | ECMAScript 2025 (ES2025 / 16th edition); language is updated yearly |
| Standard aperto | Sì · royalty-free |
| Specifica | tc39.es |
Conversioni JS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file JS.