W3docs

Benvenuto in JavaScript!

Cos'è JavaScript, dove viene eseguito (browser e Node.js), cosa può fare e perché vale la pena impararlo — un'introduzione per principianti con esempi.

JavaScript (spesso abbreviato in JS) è il linguaggio di programmazione del web. Nacque come strumento per rendere le pagine web interattive, e oggi alimenta tutto: dai pulsanti e le animazioni nel browser ai server backend completi realizzati con Node.js. È uno dei pochi linguaggi che puoi usare dal frontend fino al backend, il che spiega in gran parte la sua enorme popolarità.

Questa pagina spiega cos'è JavaScript, i due ambienti in cui viene eseguito (il browser e un server), cosa può fare e perché vale la pena impararlo. Al termine capirai dove si colloca JavaScript e cosa studiare dopo.

Cos'è JavaScript?

JavaScript fu creato nel 1995 da Brendan Eich presso Netscape. Fu progettato per fare in modo che le pagine web rispondessero alle azioni degli utenti — cliccare pulsanti, compilare moduli o mostrare contenuti senza ricaricare la pagina.

Il linguaggio è standardizzato in una specifica chiamata ECMAScript. Ogni edizione annuale aggiunge funzionalità; l'edizione del 2015 (comunemente denominata ES6) fu un grande salto che introdusse le arrow function, i template literal, le classi e i moduli. Quando le persone dicono "JavaScript moderno", di solito intendono ES6 e versioni successive.

Alcuni termini che descrivono JavaScript e che incontrerai spesso:

  • High-level — non gestisci direttamente la memoria o l'hardware.
  • Tipizzazione dinamica — una variabile può contenere qualsiasi tipo, e il tipo viene verificato durante l'esecuzione del programma anziché prima.
  • Interpretato (compilato JIT) — il codice viene eseguito senza una fase di compilazione separata; il motore (come il V8 di Chrome) lo compila al volo.

Nonostante il nome, JavaScript non è correlato a Java. Il nome fu una scelta di marketing; i due linguaggi sono completamente diversi.

Ecco un piccolo programma che stampa un messaggio — questo è il tipo di codice che funziona allo stesso modo nella console del browser o in Node.js:

const language = "JavaScript";
console.log(`Hello from ${language}!`);
// Output: Hello from JavaScript!

Cosa può fare JavaScript?

  • Aggiornare la pagina al volo. JavaScript può modificare il contenuto di una pagina web senza caricare una nuova pagina. Questo avviene tramite il DOM (Document Object Model), la rappresentazione live della pagina nel browser.
  • Reagire agli eventi. Esegue codice in risposta a clic, pressioni di tasti, scorrimento, invio di moduli e molto altro.
  • Comunicare con i server in modo asincrono. Può recuperare dati in background (ad esempio, verificare un nome utente mentre l'utente continua a digitare) senza bloccare la pagina.
  • Archiviare ed elaborare dati. Ha supporto integrato per array, object, date, operazioni matematiche ed elaborazione del testo.

Ad esempio, il codice seguente modifica il titolo principale di una pagina quando viene eseguito nel browser:

// Runs in the browser: replace the text of the first <h1>
document.querySelector('h1').textContent = 'Hello, JavaScript!';

Dove viene eseguito JavaScript

JavaScript ha bisogno di un motore per essere eseguito. I due ambienti più comuni sono il browser e Node.js.

Nel Browser

Ogni browser moderno (Chrome, Firefox, Safari, Edge) ha un motore JavaScript integrato. È qui che è nato JavaScript, ed è ciò che rende le pagine web interattive. Puoi aggiungere JavaScript a una pagina HTML con il tag <script>:

<!-- Load an external file -->
<script src="app.js"></script>

<!-- Or write code inline -->
<script>
  console.log('This runs in the browser.');
</script>

Puoi provare JavaScript subito senza scrivere alcun HTML: apri gli strumenti per sviluppatori del tuo browser (premi F12, oppure Ctrl+Shift+I / Cmd+Option+I su Mac), fai clic sulla scheda Console e digita il codice direttamente.

Su un Server con Node.js

Node.js ti consente di eseguire JavaScript fuori dal browser — su un server, sul tuo laptop o negli strumenti di build. Un server è un computer che risponde alle richieste, ad esempio inviando una pagina web o dei dati.

  • Un solo linguaggio, frontend e backend. Puoi scrivere sia la parte che l'utente vede sia la logica del server nello stesso linguaggio, il che semplifica lo sviluppo.
  • Ottimo per lavori con molto I/O. Node.js gestisce molte connessioni simultanee in modo efficiente, il che lo rende adatto ad API e app in tempo reale come le chat.
  • Un enorme ecosistema di pacchetti. Node.js include npm, il più grande registro software al mondo, così puoi utilizzare strumenti già pronti invece di scrivere tutto da zero.

La differenza fondamentale: il codice nel browser può accedere alla pagina e all'utente (document, window), mentre il codice Node.js può accedere al sistema (file, server di rete) ma non ha una pagina. Il linguaggio di base è lo stesso in entrambi gli ambienti.

Perché imparare JavaScript?

  • È ovunque. Quasi ogni sito web usa JavaScript, quindi è una competenza fondamentale per lo sviluppo web.
  • Apre le porte ai framework. Impararlo ti consente di usare strumenti popolari come React, Angular, Vue.js e Node.js per costruire applicazioni più grandi.
  • Funziona quasi ovunque. Oltre al web, JavaScript viene usato per creare app mobile (React Native) e app desktop (Electron).
  • Ha una grande community. Quando ti blocchi, sono disponibili molti tutorial, librerie e supporto.
  • È richiesto dal mercato del lavoro. Molte posizioni lavorative richiedono competenze in JavaScript.
  • Offre feedback immediato. Puoi vedere il tuo codice funzionare subito nel browser, il che rende l'apprendimento piacevole.

Prossimi Passi

Ora che sai cos'è JavaScript e dove viene eseguito, il modo migliore per impararlo è scrivere del codice. Buoni capitoli successivi:

Che tu voglia costruire un sito web, scrivere applicazioni server o semplicemente imparare a programmare, JavaScript è un ottimo punto di partenza. Continua a imparare con noi su W3Docs.

Esercitazione

Pratica
Quali delle seguenti affermazioni su JavaScript sono vere?
Quali delle seguenti affermazioni su JavaScript sono vere?
Was this page helpful?