JavaScript è uno dei linguaggi di programmazione più popolari e fondamentali per lo sviluppo web. Se hai mai voluto rendere il tuo sito web più interattivo, dinamico e coinvolgente, JavaScript è la chiave per farlo. In questa guida, esploreremo le basi di JavaScript per aiutarti a iniziare a scrivere codice, capire come funziona e costruire il tuo primo progetto pratico.
Cos’è JavaScript?
JavaScript è un linguaggio di programmazione versatile utilizzato principalmente per sviluppare funzionalità interattive sui siti web. Quando combini HTML, CSS e JavaScript, puoi creare esperienze utente dinamiche e coinvolgenti. Mentre HTML struttura la tua pagina e CSS la stile, JavaScript è ciò che dà vita alla tua pagina, aggiungendo comportamento e logica. È utilizzato sia lato client che lato server grazie a Node.js, il che lo rende uno degli strumenti più potenti per lo sviluppo moderno.
Introduzione alla Sintassi di JavaScript
Iniziamo con alcuni concetti di base che ogni sviluppatore JavaScript deve conoscere.
- Variabili: Le variabili sono contenitori per memorizzare dati. In JavaScript puoi dichiarare variabili utilizzando
let
,const
, ovar
.
let nome = "Mario";
const eta = 25;
var citta = "Roma";
let
: Può essere riassegnata e ha uno scope limitato al blocco in cui è definita.const
: Non può essere riassegnata e viene utilizzata per definire costanti, ovvero valori che non cambieranno.var
: Oggi non è più molto utilizzata a causa del suo comportamento con lo scope, spesso preferiamolet
oconst
.
- Tipi di Dati: JavaScript supporta diversi tipi di dati, tra cui numeri, stringhe, booleani, array e oggetti.
let numero = 10; // Numero
let messaggio = "Ciao mondo!"; // Stringa
let veroFalso = true; // Booleano
let colori = ["rosso", "verde", "blu"]; // Array
let persona = { nome: "Giovanni", eta: 30 }; // Oggetto
- Numeri: Possono essere sia interi che decimali.
- Stringhe: Racchiuse tra virgolette singole o doppie.
- Booleani:
true
ofalse
. - Array: Liste ordinate di valori.
- Oggetti: Raccolta di chiavi e valori.
- Operatori: Gli operatori in JavaScript sono utilizzati per eseguire operazioni sui valori.
- Operatori Aritmetici:
+
,-
,*
,/
,%
- Operatori di Confronto:
==
,===
,!=
,<
,>
,<=
,>=
- Operatori Logici:
&&
(and),||
(or),!
(not) Esempio:
let x = 10;
let y = 5;
console.log(x + y); // 15
console.log(x > y); // true
console.log(x == 10 && y < 10); // true
Funzioni in JavaScript
Le funzioni sono blocchi di codice che eseguono una particolare operazione e possono essere richiamate ogni volta che ne abbiamo bisogno. Possiamo definirle utilizzando la parola chiave function
oppure con funzioni freccia (arrow functions
).
// Funzione tradizionale
function saluta() {
console.log("Ciao!");
}
// Funzione con parametri
function somma(a, b) {
return a + b;
}
// Funzione freccia
const moltiplica = (a, b) => a * b;
Le funzioni permettono di ridurre la ripetizione del codice e di mantenerlo organizzato e modulare.
Scope delle Variabili
Lo scope è l’area in cui una variabile è definita e accessibile. In JavaScript esistono principalmente due tipi di scope:
- Locale (Local Scope): Una variabile dichiarata all’interno di una funzione è accessibile solo all’interno di quella funzione.
- Globale (Global Scope): Una variabile dichiarata fuori da ogni funzione è accessibile ovunque nel codice.
Esempio:
let nome = "Giulia"; // Variabile globale
function saluta() {
let messaggio = "Ciao, " + nome; // 'messaggio' è una variabile locale
console.log(messaggio);
}
saluta(); // Output: Ciao, Giulia
console.log(messaggio); // Errore: 'messaggio' non è definita
Manipolazione del DOM
Uno degli aspetti più potenti di JavaScript è la sua capacità di manipolare il DOM (Document Object Model). Il DOM rappresenta la struttura della pagina web e JavaScript ci permette di interagire con essa per modificare contenuti, stili e molto altro.
Ecco un esempio di come cambiare il contenuto di un elemento HTML:
<div id="messaggio">Benvenuto!</div>
<button onclick="cambiaMessaggio()">Clicca qui</button>
function cambiaMessaggio() {
document.getElementById("messaggio").innerHTML = "Grazie per aver cliccato!";
}
Con document.getElementById()
possiamo selezionare un elemento della pagina tramite il suo id
e poi modificare il suo contenuto.
Altri metodi utili per la manipolazione del DOM includono:
document.querySelector()
: Seleziona il primo elemento che corrisponde a un selettore CSS.document.querySelectorAll()
: Seleziona tutti gli elementi che corrispondono a un selettore CSS.
Eventi JavaScript
Gli eventi sono azioni che avvengono sulla pagina, come un utente che clicca un pulsante, digita in un campo di testo o muove il mouse. Con JavaScript, possiamo reagire a questi eventi e aggiungere interattività.
Esempio di gestione di un evento click
:
<button id="pulsante">Premi qui</button>
document.getElementById("pulsante").addEventListener("click", () => {
alert("Hai premuto il pulsante!");
});
In questo esempio, addEventListener()
è utilizzato per ascoltare l’evento di clic e attivare una funzione quando l’evento si verifica.
Lavorare con gli Array
Gli array sono un tipo di dato che permette di memorizzare più valori in un’unica variabile. JavaScript offre diversi metodi utili per manipolare gli array:
let numeri = [1, 2, 3, 4, 5];
// Aggiungi un elemento alla fine
numeri.push(6);
// Rimuovi l'ultimo elemento
numeri.pop();
// Itera attraverso l'array
numeri.forEach(numero => {
console.log(numero);
});
// Mappare un array in un altro
let doppi = numeri.map(num => num * 2);
console.log(doppi); // Output: [2, 4, 6, 8, 10]
Oggetti e la Programmazione Orientata agli Oggetti (OOP)
Gli oggetti sono una parte fondamentale di JavaScript. Un oggetto è una collezione di proprietà, e ogni proprietà è costituita da una coppia chiave-valore.
let automobile = {
marca: "Fiat",
modello: "Panda",
anno: 2019,
descrizione: function() {
return `Auto: ${this.marca} ${this.modello}, Anno: ${this.anno}`;
}
};
console.log(automobile.descrizione());
In questo esempio, l’oggetto automobile
ha proprietà (marca
, modello
, anno
) e un metodo (descrizione
) che restituisce una stringa con le informazioni dell’auto. Gli oggetti sono utilizzati per raggruppare dati correlati e funzionalità, permettendo di scrivere codice più pulito e strutturato.
Un concetto importante della programmazione orientata agli oggetti in JavaScript è il prototipo. Ogni oggetto in JavaScript ha un prototipo, che è un altro oggetto da cui eredita proprietà e metodi.
Classi in JavaScript
Le classi sono state introdotte in ECMAScript 6 (ES6) per rendere la sintassi della programmazione orientata agli oggetti più intuitiva.
class Persona {
constructor(nome, eta) {
this.nome = nome;
this.eta = eta;
}
saluta() {
console.log(`Ciao, mi chiamo ${this.nome} e ho ${this.eta} anni.`);
}
}
let persona1 = new Persona("Luca", 28);
persona1.saluta(); // Output: Ciao, mi chiamo Luca e ho 28 anni.
Promises e Gestione delle Chiamate Asincrone
JavaScript è spesso utilizzato per fare richieste di rete (come ottenere dati da un’API). Le promises sono un meccanismo per gestire le chiamate asincrone e sono essenziali per evitare il famoso “callback hell”.
let promessa = new Promise((resolve, reject) => {
let successo = true;
if (successo) {
resolve("Operazione riuscita!");
} else {
reject("Si è verificato un errore.");
}
});
promessa.then(messaggio => {
console.log(messaggio);
}).catch(errore => {
console.error(errore);
});
Esercizio Pratico: Calcolatrice Semplice
Come esercizio pratico, creiamo una semplice calcolatrice con HTML e JavaScript per mettere in pratica ciò che abbiamo imparato.
<div>
<input type="number" id="num1" placeholder="Numero 1">
<input type="number" id="num2" placeholder="Numero 2">
<button onclick="calcolaSomma()">Calcola Somma</button>
<div id="risultato"></div>
</div>
function calcolaSomma() {
let num1 = parseFloat(document.getElementById("num1").value);
let num2 = parseFloat(document.getElementById("num2").value);
let somma = num1 + num2;
document.getElementById("risultato").innerHTML = "Risultato: " + somma;
}
In questo esempio, due numeri vengono inseriti nei campi di input e, quando si preme il pulsante, il risultato della somma viene visualizzato nella pagina.
Conclusione
JavaScript è un linguaggio potente e versatile che permette di aggiungere interattività e dinamismo alle tue pagine web. Questa guida ha coperto i concetti di base che ogni sviluppatore deve conoscere per iniziare. Da qui, puoi esplorare concetti più avanzati come le Promises, l’uso delle API, e la manipolazione avanzata del DOM.
Per ulteriori informazioni: Javascript
Hai trovato utile questa guida? Continua a seguire Cyberalchimista sui social (@cyberalchimista) per altri tutorial e consigli sullo sviluppo web! Se hai domande o vuoi condividere i tuoi progetti contattaci.