Cosa è JavaScript? Introduzione con esempio "Hello World"
⚡ Riepilogo intelligente
JavaLo script è il linguaggio di programmazione che rende interattive le pagine web. Questa introduzione spiega cosa JavaCon "script" si spiegano la sua origine, come i browser e Node.js lo eseguono e come scrivere ed eseguire un primo script "Hello World".

Cosa è JavaCopione?
JavaLo script è un linguaggio di programmazione di alto livello che aggiunge comportamento alle pagine web. È una delle tre tecnologie principali del web: HTML fornisce la struttura, CSS fornisce l'aspetto e JavaLo script fornisce l'interazione. Ogni volta che una casella di ricerca mostra suggerimenti mentre digiti, scorre una galleria di foto o un modulo di registrazione ti avvisa di un campo mancante, JavaLo script sta svolgendo quel lavoro in background.
Il diagramma seguente mostra come uno script si affianca al markup di una normale pagina web.
Per la maggior parte della sua vita JavaScript è stato descritto come un linguaggio di scripting lato client, perché veniva eseguito solo all'interno di un browser. Questa descrizione è ora incompleta. Da quando Node.js è apparso nel 2009, lo stesso linguaggio ha alimentato anche server web, utilità da riga di comando, applicazioni desktop e app per dispositivi mobili. Una descrizione più accurata oggi è che JavaScript è un linguaggio di programmazione generico con una presenza insolitamente forte nei browser.
Le caratteristiche che definiscono la lingua sono:
- Tipo dinamico: Una variabile può contenere un numero ora e una stringa un attimo dopo, quindi i tipi vengono controllati durante l'esecuzione del programma.
- Interpretato e compilato just-in-time: Motori come V8 in Chrome e Node.js compilano il codice eseguito frequentemente in codice macchina per velocizzarlo.
- Multiparadigma: Sono supportati gli stili imperativo, funzionale e orientato agli oggetti.
- Basato sugli eventi: il codice reagisce a clic, pressioni di tasti, timer e risposte di rete invece di essere eseguito dall'alto verso il basso e fermarsiping.
- Monothread con ciclo di eventi: Le operazioni lente, come ad esempio una chiamata di rete, vengono messe in coda anziché bloccare la pagina.
Suggerimento: JavaScript ed ECMAScript non sono linguaggi concorrenti. ECMAScript è la specifica scritta e JavaLo script è l'implementazione di quella specifica che i browser e Node.js effettivamente forniscono.
Storia di JavaCopione
Brendan Eich ha creato JavaScript presso Netscape Communications nel 1995, producendo il primo prototipo funzionante in circa dieci giorni. Internamente il progetto era chiamato Moca. È stato distribuito in una versione beta di Netscape Navigator 2.0 come LiveScript nel settembre 1995, e fu rinominato JavaCopione nel dicembre 1995 come parte di un accordo di marketing tra Netscape e Sun Microsystems, la società che possedeva Java al tempo.
Quel cambio di nome è l'unica ragione per cui tanti principianti lo presumono ancora JavaScript è un'edizione leggera di JavaI due linguaggi non sono correlati in termini di progettazione, proprietà e runtime. Netscape ha presentato il linguaggio a Ecma International nel 1996 e la prima edizione dello standard ECMA-262 è stata pubblicata nel giugno 1997. La tabella seguente elenca le tappe fondamentali più importanti per la lettura di codice più datato.
| Anno | Pietra miliare | Perché è importante |
|---|---|---|
| 1995 | Mocha, poi LiveScript, poi JavaCopione | Il linguaggio è stato creato presso Netscape da Brendan Eich. |
| 1997 | ECMA-262 prima edizione | Il linguaggio acquisisce uno standard scritto indipendente dal fornitore. |
| 2009 | ES5 e la prima versione di Node.js | Arriva la modalità rigorosa e JavaLo script fuoriesce dal browser. |
| 2015 | ES6 (ECMAScript 2015) | Vengono aggiunti let, const, funzioni freccia, classi, moduli e promise. |
| 2016 in poi | Edizioni annuali di ECMAScript | I film di dimensioni più ridotte vengono pubblicati ogni giugno, anziché in rare uscite di grandi dimensioni. |
A causa del ciclo di rilascio annuale, il codice scritto prima del 2015 appare notevolmente diverso dal codice moderno. I tutorial più vecchi utilizzano var ovunque, mentre il codice attuale preferisce let and const quando dichiarare le variabili in JavaCopione.
Cosa è JavaScript utilizzato per?
JavaIl linguaggio Script non è più relegato a piccoli espedienti di pagina. La stessa sintassi compare ora in quattro contesti molto diversi, ed è per questo che si conferma costantemente tra i linguaggi più utilizzati nei sondaggi tra gli sviluppatori.
| Zona | Che JavaLo script c'è | Strumenti tipici |
|---|---|---|
| Front-end del browser | Gestisce i clic, aggiorna la pagina senza ricaricarla, convalida i moduli e crea grafici. | React, Vue, Angular, Svelte |
| Lato server | Gestisce le richieste HTTP, interagisce con i database e crea API REST o GraphQL. | Node.js, Deno, Bun, Express |
| Applicazioni in movimento | Costruisci Android e app iOS da un'unica base di codice condivisa. | Reagisci nativo, Ionic, Condensatore |
| Applicazioni desktop | Avvolge un'interfaccia web in una finestra nativa con accesso al file system. | Elettrone, Tauri |
| Attrezzatura e automazione | Raggruppa le risorse, esegue le suite di test e gestisce i browser per i test end-to-end. | Vite, webpack, Jest, Drammaturgo |
Giochi, visualizzazioni di dati, estensioni del browser e piccoli progetti hardware si basano tutti su di esso. Per un principiante la conseguenza pratica è semplice: lo sforzo che dedichi ora alla sintassi si trasferisce direttamente al lavoro sul server, al lavoro sui dispositivi mobili e all'automazione dei test in seguito. Se vuoi vedere il linguaggio applicato a problemi reali, lavora attraverso una serie di pratico JavaEsempi di codice script una volta acquisita familiarità con le basi.
Come correre JavaCopione?
JavaLo script non viene eseguito da solo. Ha bisogno di un ambiente host che contenga un JavaCopione motoreChrome ed Edge utilizzano V8, Firefox usa SpiderMonkey e Safari usa JavaScriptCore. Quando un browser scarica una pagina HTML e trova uno script, lo passa al suo motore, che lo analizza, lo compila e lo esegue.
Il secondo ambiente host è Node.js, che incorpora lo stesso motore V8 al di fuori del browser. In questo modo lo stesso linguaggio viene eseguito su un server o in un terminale. Il vantaggio pratico di JavaLa sceneggiatura è quella ogni browser moderno lo supporta on Windows, Linux e macOS, quindi raramente devi preoccuparti di quale browser usa un visitatore. Questo è un vero miglioramento rispetto a VBScript, che ha funzionato solo in Internet Explorer su Windows e ora è obsoleto insieme a Internet Explorer stesso.
⚠️ Attenzione: Browser JavaScript e Node.js JavaGli script condividono il linguaggio di base, ma non gli oggetti circostanti. document and window esistono solo nel browser e require e i moduli del file system esistono solo in Node.js. Copiare il codice tra i due senza verificarlo genererà un errore di riferimento.
Strumenti necessari
Per scrivere il codice è necessario un editor di testo, mentre per visualizzarne il risultato serve un browser. Notepad++, Visual Studio Code, Sublime Texte qualsiasi altro editor con cui ti trovi a tuo agio andrà bene, anche se un editor con evidenziazione della sintassi e corrispondenza delle parentesi ti risparmierà un bel po' di debug. Qualsiasi browser moderno funziona: Google Chrome, Firefox, Microsoft Edgeo Safari. Non è necessario acquistare o installare nient'altro oltre a questi due elementi.
Un semplice JavaProgramma di script
Se continui JavaScript all'interno del documento HTML stesso, tutto il codice deve essere racchiuso tra un'apertura <script> etichetta e chiusura </script> tag. È così che il browser distingue il tuo codice dal markup circostante. Le pagine più vecchie impostano anche un type attributo, scritto come <script type="text/javascript">, che era necessario quando esistevano linguaggi lato client rivali come VBScript. Le pagine moderne lo omettono, perché HTML5 lo tratta text/javascript come impostazione predefinita. Le due versioni seguenti sono funzionalmente identiche ed entrambe sono ancora valide.
Ciao esempio mondiale
Il primo programma tradizionale visualizza un messaggio. Inserisci il seguente markup in un file denominato hello.html e aprirlo in un browser.
<html>
<head>
<title>My First JavaScript code!!!</title>
<script type="text/javascript">
alert("Hello World!");
</script>
</head>
<body>
</body>
</html>
Produzione:
A browser dialog box opens containing the text: Hello World!
Nota: type="text/javascript" non è necessario in HTML5. Il codice seguente funziona esattamente allo stesso modo.
<html>
<head>
<title>My First JavaScript code!!!</title>
<script>
alert("Hello World!");
</script>
</head>
<body>
</body>
</html>
Produzione:
A browser dialog box opens containing the text: Hello World!
Una volta che una pagina cresce oltre poche righe, spostando la sceneggiatura nella sua .js Il file mantiene il markup leggibile e consente al browser di memorizzare nella cache il codice. Le differenze sono trattate in dettaglio in questo confronto di interno ed esterno JavaCopione.
Come scrivere e gestire la tua prima sceneggiatura
Esistono tre modi pratici per eseguire JavaLa sceneggiatura, e un principiante dovrebbe provarle tutte e tre perché ognuna è adatta a una situazione diversa.
1. La console del browser. Questa è l'opzione più veloce e non richiede alcun file. Apri una pagina web qualsiasi, premi F12 (oppure Ctrl+Shift+Io su Windows e Linux, Cmd+Opzione+I su macOS), e selezionare il consolle scheda. Digita una riga, premi Invio e il risultato appare immediatamente. È il luogo ideale per testare una singola espressione o per verificare cosa restituisce una funzione.
// Type each line into the browser console and press Enter console.log(2 + 2); console.log("Guru" + 99); console.log(Math.max(4, 12, 7)); console.log(typeof "hello");
Produzione:
4 Guru99 12 string
Osserva la seconda riga. Aggiungendo il numero 99 alla stringa “Guru" produce la stringa "Guru99” piuttosto che un errore, perché JavaLo script converte automaticamente il numero in testo. Questo comportamento è comodo, ma è anche una classica fonte di bug per i principianti.
2. Un file HTML. Questo è l'esempio "Hello World" mostrato sopra. Usalo ogni volta che il codice deve interagire con la pagina, ad esempio per leggere il valore di un modulo o modificare un elemento.
3. Node.js dal terminale. Installa Node.js, salva il codice in un file con un .js estensione, quindi esegui node first-script.js. Non viene renderizzato nulla, quindi console.log diventa il tuo canale di output. Questa è la strada da seguire quando vuoi esercitarti con funzionalità del linguaggio puro senza alcun HTML intorno.
// first-script.js const language = "JavaScript"; const createdBy = "Brendan Eich"; const releaseYear = 1995; console.log(language + " was created by " + createdBy + " in " + releaseYear + "."); const usedFor = ["Interactive web pages", "Server apps with Node.js", "Mobile apps"]; usedFor.forEach(function (item, index) { console.log(index + 1 + ". " + item); });
Produzione:
JavaScript was created by Brendan Eich in 1995. 1. Interactive web pages 2. Server apps with Node.js 3. Mobile apps
Questo breve script utilizza già tre idee che incontrerai costantemente: costanti dichiarate con const, una schieramento contenente un elenco di valori e una funzione di callback passata a forEach. Riscrivere lo stesso ciclo con un for l'affermazione è un esercizio utile una volta che hai studiato cicli in JavaCopione.
JavaScript vs Java
I nomi rappresentano il più grande errore nella storia della programmazione, e la confusione che generano merita di essere chiarita fin da subito. JavaScript è stato rinominato da LiveScript esclusivamente per ragioni di marketing nel 1995, in un momento in cui Java era la tecnologia più discussa sul web. I due linguaggi sono stati progettati da persone diverse, in aziende diverse, per problemi diversi.
| Aspetto | JavaCopione | Java |
|---|---|---|
| Creato da | Brendan Eich alla Netscape, 1995 | James Gosling alla Sun Microsystems, 1995 |
| Typing | Dinamico e debolmente tipizzato | Statico e fortemente tipizzato |
| Gira su | Motori dei browser e Node.js | Migliori Java Macchina virtuale |
| compilazione | Compilato just-in-time dal motore in fase di esecuzione | Compilato in anticipo in bytecode |
| Modello a oggetti | Basato su prototipo, con sintassi delle classi aggiunta in ES6 | Basato sulle classi fin dall'inizio |
| Estensione del file | . Js | .java compilato in .class |
| Uso comune | Interfacce web, API, strumenti | Backend aziendali, Androidbig data |
L'unica vera somiglianza è che entrambi prendono in prestito la sintassi con parentesi graffe dal C. Imparare uno non ti insegna l'altro, anche se la sintassi condivisa rende il secondo linguaggio leggermente più facile da leggere. Se si è rigorosiping è allettante per te, TypeScript aggiunge un livello di tipo statico sopra JavaScript durante la compilazione in semplice JavaSceneggiatura, e le differenze sono esposte in questo TypeScript and JavaConfronto tra sceneggiature.
Con le basi poste, i passi successivi naturali sono interattivo JavaEsercizi di sceneggiatura, poi variabili e tipi di dati, seguita da array and loops. Dopo di che, orientata agli oggetti JavaCopione spiega come oggetti, prototipi e classi si combinano tra loro e formattazione delle stringhe Tratta la gestione del testo che utilizzerai in quasi tutti gli script.


