Vai al contenuto
eLearner.app

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

4 lezioni

Le fondamenta: dichiarare variabili, riconoscere i tipi, fare calcoli e prendere decisioni.

  1. 1.1Variabili: let e constDichiarare valori, scegliere fra const e let, capire lo scope di base.~8 min
  2. 1.2Tipi primitivistring, number, boolean, null, undefined: i mattoncini del linguaggio.~8 min
  3. 1.3OperatoriAritmetica, confronto, logica booleana e priorità degli operatori.~10 min
  4. 1.4Condizionali: if, else, ternarioEseguire codice diverso a seconda del valore di un’espressione.~10 min

02 · Stringhe e numeri

4 lezioni

I due tipi più usati: comporre testo con i template literal, manipolarlo con i metodi delle stringhe, fare conti con numeri e Math.

  1. 2.1Stringhe e template literalApici, escape, backtick e interpolazione `${...}` per comporre testo.~8 min
  2. 2.2Metodi delle stringhelength, toUpperCase, includes, slice, split, replace: i metodi che usi ogni giorno.~10 min
  3. 2.3Numeri e MathInteri e decimali, arrotondamenti, Math.min/max/round/floor/ceil, Math.random.~10 min
  4. 2.4Conversioni di tipoNumber, String, parseInt, parseFloat, toFixed e quando NaN ti morde.~8 min

03 · Array e oggetti

4 lezioni

Le due strutture dati che userai più di tutte: liste ordinate (array) e mappe chiave-valore (oggetti).

  1. 3.1Array: la lista ordinataCreare un array, leggere/scrivere per indice, push/pop/shift/unshift, length.~10 min
  2. 3.2Oggetti: la mappa chiave-valoreLetterali, accesso con dot e con bracket, aggiungere/rimuovere proprietà.~10 min
  3. 3.3Destructuring e spreadEstrarre più valori in una riga; copiare e fondere array e oggetti con `...`.~12 min
  4. 3.4Iterare su collezionifor…of su array, for…in su oggetti, Object.keys/values/entries.~10 min

04 · Funzioni

4 lezioni

Scomporre i programmi in pezzi riusabili: dichiararle, scriverle in forma compatta con le arrow, passare parametri flessibili e capire le closure.

  1. 4.1Dichiarare una funzionefunction declaration vs function expression, parametri, return.~10 min
  2. 4.2Arrow functionSintassi compatta `=>`, corpo sintetico vs blocco, return implicito.~10 min
  3. 4.3Parametri di default e restValori predefiniti, `...rest` per numero variabile di argomenti, spread in chiamata.~12 min
  4. 4.4Closure e scopeFunzioni che ricordano il loro ambiente: contatori, factory, scope a catena.~12 min

05 · Controllo del flusso

4 lezioni

Ripetere, saltare, gestire errori: i costrutti che danno al tuo codice la capacità di reagire ai dati e ai problemi.

  1. 5.1Loop: for e whilefor classico, while, do…while: ripetere fino a una condizione.~10 min
  2. 5.2for…of e for…inIterare valori di una collezione vs chiavi di un oggetto. Quando usare quale.~10 min
  3. 5.3break e continueUscire prima da un loop, oppure saltare alla prossima iterazione.~10 min
  4. 5.4try / catch / throwSollevare e catturare errori, distinguere flusso normale e flusso eccezionale.~12 min

06 · Array funzionali

4 lezioni

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.

  1. 6.1map e filterTrasformare ogni elemento (map) e selezionare un sottoinsieme (filter).~10 min
  2. 6.2reduceAggregare un array in un singolo valore: somme, conteggi, mappe.~12 min
  3. 6.3find, some, everyTrovare il primo, verificare se almeno uno o tutti soddisfano un predicato.~10 min
  4. 6.4sortOrdinare un array con un comparatore; ordinamento stabile, copia con toSorted.~12 min

07 · Asincrono

4 lezioni

Codice che aspetta: Promise, async/await, chiamate di rete simulate (fetch) e gestione degli errori asincroni.

  1. 7.1Promise: cosa sonoStato pending/fulfilled/rejected, .then/.catch, Promise.resolve e reject.~12 min
  2. 7.2async / awaitScrivere codice asincrono che si legge come codice sincrono.~12 min
  3. 7.3fetch (simulato)Chiamare un endpoint, leggere JSON, comporre risultati con Promise.all.~14 min
  4. 7.4Errori in codice asincronotry/catch attorno ad await, .catch sulle Promise, fallimenti in Promise.all.~12 min

08 · Pratica e composizione

4 lezioni

Mettere insieme tutti i pezzi: organizzare il codice in moduli, parsare un CSV, validare dati di input e schedulare attività con Promise.

  1. 8.1Moduli ESM: import / exportSuddividere il codice in file e comporre librerie con export e import (concetto).~12 min
  2. 8.2Sfida: parser CSVTrasformare una stringa CSV in array di oggetti, usando split, map e destructuring.~15 min
  3. 8.3Sfida: validatore di datiValidare oggetti con regole componibili e raccogliere tutti gli errori.~15 min
  4. 8.4Sfida: scheduling con PromiseEseguire task in serie, in parallelo e con limite di concorrenza.~15 min