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".

  • 🌐 Cliente e server: JavaLo script inizialmente veniva eseguito all'interno del browser, ma ora è in esecuzione anche sui server tramite Node.js, Deno e Bun.
  • 🕰️ Origine: Brendan Eich ha creato il linguaggio presso Netscape nel 1995; si chiamava Mocha, poi LiveScript, poi JavaScript.
  • 📜 Standard: ECMAScript è la specifica ufficiale, quindi tutti i browser moderni concordano sulle stesse regole fondamentali del linguaggio.
  • Setup: Un semplice editor di testo e un qualsiasi browser moderno sono sufficienti per scrivere e testare il tuo primo script.
  • Prima la console: Premi F12, apri la scheda Console ed esegui singole righe di JavaScript senza creazione di file.
  • Non Java: Java and JavaGli script condividono quattro lettere e quasi nient'altro, compresi i sistemi di tipi e i runtime.
  • Placement: Per pagine più pulite e memorizzabili nella cache, inserisci gli script all'interno dei tag script oppure collega un file .js esterno.

Cosa è JavaCopione

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.

Introduzione alla JavaCopione

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.

Javascript Storia

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.

DOMANDE FREQUENTI

ECMAScript è lo standard scritto, pubblicato come ECMA-262, che definisce la sintassi e gli oggetti predefiniti. JavaScript è l'implementazione operativa di quello standard fornita dai produttori di browser e da Node.js. I nomi delle versioni, come ES6, si riferiscono alle edizioni dello standard.

Entrambe le cose. Il codice sorgente viene distribuito come testo semplice e letto dal motore, ma motori come V8 e SpiderMonkey compilano just-in-time le funzioni eseguite più frequentemente in codice macchina. Il risultato è un comportamento simile a quello di un linguaggio interpretato, ma con una velocità quasi pari a quella di un linguaggio compilato.

Le cause più comuni sono la mancanza del tag di chiusura dello script, un percorso errato al file esterno, un errore di battitura che genera un errore di sintassi o uno script che viene eseguito prima che l'elemento a cui è destinato esista. Apri la scheda Console per leggere l'errore esatto.

Gli script interni vanno bene per poche righe durante la fase di apprendimento. Passa a un file .js esterno non appena il codice viene riutilizzato su più pagine, perché in questo modo il browser può memorizzarlo nella cache e il markup rimane leggibile.

Possono produrre rapidamente frammenti di codice funzionanti, ma mescolano anche API specifiche per browser e API specifiche per Node.js, e occasionalmente inventano metodi. Esegui ogni suggerimento, leggi tu stesso gli errori nella console e considera l'output come una bozza piuttosto che come una soluzione definitiva.

Crea l'interfaccia di chat, trasmette le risposte del modello token per token e chiama le API del modello da un back-end Node.js. Librerie come TensorFlow.js e ONNX Runtime Web eseguono anche modelli più piccoli direttamente all'interno del browser.

Riassumi questo post con: