Corso interattivo
Corso JavaScript
Impara JavaScript da zero scrivendo funzioni, trasformazioni dati e codice asincrono in un worker isolato: vedi console, valore di ritorno ed errori mentre ragioni sul modello del linguaggio.
01 · Basi del linguaggio
Le fondamenta: dichiarare variabili, riconoscere i tipi, fare calcoli e prendere decisioni.
- 1.1Variabili: let e constDichiarare valori, scegliere fra const e let, capire lo scope di base.~8 min
- 1.2Tipi primitivistring, number, boolean, null, undefined: i mattoncini del linguaggio.~8 min
- 1.3OperatoriAritmetica, confronto, logica booleana e priorità degli operatori.~10 min
- 1.4Condizionali: if, else, ternarioEseguire codice diverso a seconda del valore di un’espressione.~10 min
02 · Stringhe e numeri
I due tipi più usati: comporre testo con i template literal, manipolarlo con i metodi delle stringhe, fare conti con numeri e Math.
- 2.1Stringhe e template literalApici, escape, backtick e interpolazione `${...}` per comporre testo.~8 min
- 2.2Metodi delle stringhelength, toUpperCase, includes, slice, split, replace: i metodi che usi ogni giorno.~10 min
- 2.3Numeri e MathInteri e decimali, arrotondamenti, Math.min/max/round/floor/ceil, Math.random.~10 min
- 2.4Conversioni di tipoNumber, String, parseInt, parseFloat, toFixed e quando NaN ti morde.~8 min
03 · Array e oggetti
Le due strutture dati che userai più di tutte: liste ordinate (array) e mappe chiave-valore (oggetti).
- 3.1Array: la lista ordinataCreare un array, leggere/scrivere per indice, push/pop/shift/unshift, length.~10 min
- 3.2Oggetti: la mappa chiave-valoreLetterali, accesso con dot e con bracket, aggiungere/rimuovere proprietà.~10 min
- 3.3Destructuring e spreadEstrarre più valori in una riga; copiare e fondere array e oggetti con `...`.~12 min
- 3.4Iterare su collezionifor…of su array, for…in su oggetti, Object.keys/values/entries.~10 min
04 · Funzioni
Scomporre i programmi in pezzi riusabili: dichiararle, scriverle in forma compatta con le arrow, passare parametri flessibili e capire le closure.
- 4.1Dichiarare una funzionefunction declaration vs function expression, parametri, return.~10 min
- 4.2Arrow functionSintassi compatta `=>`, corpo sintetico vs blocco, return implicito.~10 min
- 4.3Parametri di default e restValori predefiniti, `...rest` per numero variabile di argomenti, spread in chiamata.~12 min
- 4.4Closure e scopeFunzioni che ricordano il loro ambiente: contatori, factory, scope a catena.~12 min
05 · Controllo del flusso
Ripetere, saltare, gestire errori: i costrutti che danno al tuo codice la capacità di reagire ai dati e ai problemi.
- 5.1Loop: for e whilefor classico, while, do…while: ripetere fino a una condizione.~10 min
- 5.2for…of e for…inIterare valori di una collezione vs chiavi di un oggetto. Quando usare quale.~10 min
- 5.3break e continueUscire prima da un loop, oppure saltare alla prossima iterazione.~10 min
- 5.4try / catch / throwSollevare e catturare errori, distinguere flusso normale e flusso eccezionale.~12 min
06 · Array funzionali
I metodi che trasformano gli array: map per cambiare ogni elemento, filter per selezionare, reduce per aggregare, find/some/every per cercare, sort per ordinare.
- 6.1map e filterTrasformare ogni elemento (map) e selezionare un sottoinsieme (filter).~10 min
- 6.2reduceAggregare un array in un singolo valore: somme, conteggi, mappe.~12 min
- 6.3find, some, everyTrovare il primo, verificare se almeno uno o tutti soddisfano un predicato.~10 min
- 6.4sortOrdinare un array con un comparatore; ordinamento stabile, copia con toSorted.~12 min
07 · Asincrono
Codice che aspetta: Promise, async/await, chiamate di rete simulate (fetch) e gestione degli errori asincroni.
- 7.1Promise: cosa sonoStato pending/fulfilled/rejected, .then/.catch, Promise.resolve e reject.~12 min
- 7.2async / awaitScrivere codice asincrono che si legge come codice sincrono.~12 min
- 7.3fetch (simulato)Chiamare un endpoint, leggere JSON, comporre risultati con Promise.all.~14 min
- 7.4Errori in codice asincronotry/catch attorno ad await, .catch sulle Promise, fallimenti in Promise.all.~12 min
08 · Pratica e composizione
Mettere insieme tutti i pezzi: organizzare il codice in moduli, parsare un CSV, validare dati di input e schedulare attività con Promise.
- 8.1Moduli ESM: import / exportSuddividere il codice in file e comporre librerie con export e import (concetto).~12 min
- 8.2Sfida: parser CSVTrasformare una stringa CSV in array di oggetti, usando split, map e destructuring.~15 min
- 8.3Sfida: validatore di datiValidare oggetti con regole componibili e raccogliere tutti gli errori.~15 min
- 8.4Sfida: scheduling con PromiseEseguire task in serie, in parallelo e con limite di concorrenza.~15 min