🚀 Coding per Bambini
con JavaScript

Un piccolo passo alla volta... anche tu puoi farlo! 🌟

⭐ ⭐ ⭐ ⭐ ⭐
🎨 Tipi 🧮 Operazioni 📦 Variabili 🚦 Se / Altrimenti 🎰 Switch 🔄 Mentre 🔢 Per 🤖 Funzione 👆 This 🏭 Classe
Lezione 1

🎨 Che tipo di cosa è?

Il computer ha bisogno di sapere che tipo di cosa stai usando.
Come a scuola: un numero è diverso da una parola!

🔢 Numero 42   3.14   -5
💬 Testo "ciao"   "sole"
Vero/Falso true   false
🕳️ Niente null   undefined

In English: number = numero · string (stringa) = testo · boolean = vero/falso · null = niente di niente.

javascript
42           // 🔢 un numero
"Ciao Luna"  // 💬 un testo (tra virgolette)
true         // ✅ vero
false        // ❌ falso
null         // 🕳️ niente
Il testo va sempre tra virgolette: "ciao" oppure 'ciao'.
I numeri no: 42 si scrive così, senza virgolette!
· · ·
Lezione 2

🧮 Calcoli e confronti

3 + 4 = 7 + × ÷ == uguale? < > minore
SimboloSignifica
+più (somma)
-meno (sottrazione)
*per (moltiplicazione)
/diviso
%resto della divisione
===è uguale? (confronto esatto)
!==è diverso?
< >minore / maggiore
3 + 4          // 7
10 - 3         // 7
5 * 2          // 10
10 / 2         // 5
7 % 3          // 1  (7 diviso 3 dà resto 1)

5 === 5        // true  ✅
5 === 6        // false ❌
3 < 10         // true  ✅
=== vuol dire "è proprio uguale?" — tre uguale, non uno solo!
Un uguale solo (=) serve per le variabili (vedremo dopo 😉).
· · ·
Lezione 3

📦 Scatole con un nome

📦
Una variabile è come una scatola etichettata! Ci metti dentro qualcosa, le dai un nome, e poi la ritrovi con quel nome quando ti serve.
età 8 nome "Luna" ok true
let età  = 8;
let nome = "Luna";
let ok   = true;

console.log(nome);   // stampa: Luna
console.log(età);    // stampa: 8
"Luna" 8

let vuol dire "crea una scatola che può cambiare".
const vuol dire "crea una scatola che NON cambia mai" (come il tuo nome!).

const pianeta = "Terra";  // non cambierà mai 🌍
let   punti   = 0;        // può aumentare! 🎮
punti = punti + 10;        // ora vale 10
Scope (in English) = zona visibile.
Una scatola creata dentro { ... } esiste solo lì dentro. Come i giocattoli che rimangono nella tua stanza!
· · ·
Lezione 4

🚦 Se... altrimenti...

STOP FORSE VAI!

Il computer deve prendere decisioni. Come un semaforo: se è verde vai, altrimenti fermati.

let età = 10;

if (età >= 18) {
  console.log("Sei grande! 🧑");
} else {
  console.log("Sei piccolo! 🧒");
}
Sei piccolo! 🧒
1

if significa "se"

2

Dentro le ( ) c'è la domanda: è vera o falsa?

3

Se è vera → esegui il blocco { } dopo if

4

else significa "altrimenti" → esegui se è falsa

con else if
let voto = 8;

if (voto === 10) {
  console.log("Perfetto! ⭐⭐⭐");
} else if (voto >= 6) {
  console.log("Bravo! 😊");
} else {
  console.log("Studia ancora! 📚");
}
Bravo! 😊
· · ·
Lezione 5

🎰 Scegli il caso giusto

🎰
switch è come una girandola di scelte Guarda il valore e salta direttamente alla scelta giusta — come scegliere una voce dal menu!
let giorno = "lunedì";

switch (giorno) {
  case "lunedì":
    console.log("😴 inizio settimana");
    break;
  case "venerdì":
    console.log("🎉 quasi weekend!");
    break;
  default:
    console.log("📅 giorno normale");
}
😴 inizio settimana
break vuol dire "fermati qui, non andare avanti".
Se dimentichi il break, il computer esegue anche i casi successivi — come una macchina senza freni! 🚗💨
default è come l'"altrimenti" dello switch: viene eseguito se nessun caso corrisponde.
· · ·
Lezione 6

🔄 Ripeti finché...

ancora? sì → ripeti no → stop

while significa "mentre": ripeti l'azione finché la condizione è vera.

let conta = 1;

while (conta <= 5) {
  console.log("🍎 mela numero " + conta);
  conta = conta + 1;
}
🍎 mela numero 1
🍎 mela numero 2
🍎 mela numero 3
🍎 mela numero 4
🍎 mela numero 5
Ogni volta che ripeti, ricorda di cambiare qualcosa (qui conta = conta + 1).
Altrimenti il computer ripete all'infinito e si blocca! 💥
· · ·
Lezione 7

🔢 Conta e ripeti

🎡
for è come la giostra — giri esattamente quante volte vuoi! Dici: parti da qui, vai fino a là, aumenta di uno ogni volta.
for (let i = 1; i <= 3; i++) {
  console.log("⭐ stella " + i);
}
⭐ stella 1
⭐ stella 2
⭐ stella 3
1

let i = 1 → parti da 1

2

i <= 3 → continua finché i è minore o uguale a 3

3

i++ → aggiungi 1 ogni volta (i++ è come scrivere i = i + 1)

i è solo il nome della scatola che conta. Puoi chiamarla come vuoi: n, volta, conta...
Gli informatici usano i per tradizione (viene da indice).
· · ·
Lezione 8

🤖 Funzioni: ricette magiche

ingredienti 🍎 + 🥛 funzione ⚙️ risultato 🥤 frullato

Una funzione è come una ricetta: le dai degli ingredienti (parametri), lei lavora, e ti restituisce un risultato.

// Definisco la funzione (scrivo la ricetta)
function saluta(nome) {
  return "Ciao, " + nome + "! 👋";
}

// Chiamo la funzione (uso la ricetta)
let messaggio = saluta("Luna");
console.log(messaggio);
Ciao, Luna! 👋
1

function saluta → dai un nome alla funzione

2

(nome) → l'ingrediente che riceve

3

return → il risultato che restituisce (consegna)

4

saluta("Luna") → usala con un ingrediente vero

altro esempio
function somma(a, b) {
  return a + b;
}

console.log( somma(3, 4) );   // 7
console.log( somma(10, 5) );  // 15
La funzione è come un robot che hai costruito tu. Lo chiami, lui lavora, ti porta il risultato.
Puoi chiamarlo quante volte vuoi, anche con ingredienti diversi ogni volta!
· · ·
Lezione 9

👆 Questo oggetto qui

👆
this = "questo qui" — chi sta parlando? In inglese this vuol dire "questo". Dentro un oggetto, this indica l'oggetto stesso.

Immagina un cane che sa dire il suo nome. Quando dice "il mio nome", intende sé stesso!

const cane = {
  nome: "Fido",
  verso: "Bau",
  parla: function() {
    return this.nome + " dice: " + this.verso;
  }
};

console.log( cane.parla() );
Fido dice: Bau
this.nome dentro parla significa "il nome di questo oggetto cane".
Se crei un altro cane con nome "Rex", this.nome darà "Rex"! this si adatta all'oggetto che lo usa.
· · ·
Lezione 10

🏭 Fabbriche di oggetti

class 🏭 Cane 🐕 Fido 🐕 Rex

Una classe è come uno stampino o una fabbrica.
La crei una volta, poi la usi per fare tanti oggetti dello stesso tipo!

// Lo stampino (la classe)
class Cane {
  constructor(nome, razza) {
    this.nome  = nome;
    this.razza = razza;
  }
  abbaia() {
    return this.nome + ": Bau! 🐕";
  }
}

// Creo due cani dallo stesso stampino
const fido = new Cane("Fido", "Labrador");
const rex  = new Cane("Rex",  "Pastore");

console.log( fido.abbaia() );
console.log( rex.abbaia() );
Fido: Bau! 🐕
Rex: Bau! 🐕
1

class Cane → nome della fabbrica (sempre con lettera maiuscola!)

2

constructor → viene chiamato quando crei un cane nuovo

3

new Cane(...) → costruisce un oggetto dalla classe

class è una parola di ES6 — una versione moderna di JavaScript del 2015.
Prima si facevano le cose in modo più complicato. Ora è molto più chiaro!

Ci sono ancora molte cose da scoprire sulle classi: ereditarietà (un figlio che eredita dal genitore), metodi statici, campi privati... ma questo è un buon punto di partenza! 🚀
· · ·
🎉

Hai finito le basi!

Ora puoi sperimentare: apri il browser, premi F12, vai su Console, e scrivi del codice tu stesso!

📦 variabili 🚦 if/else 🔄 cicli 🤖 funzioni 🏭 classi