cat javascript/gestire-risposte-vuote-o-non-valide.md
Gestire risposte vuote o non valide
Controllare i dati ricevuti prima di usarli.
In parole semplici
Non devi fidarti automaticamente dei dati ricevuti. Prima controlli che esistano e che abbiano le informazioni che ti servono.
Questa lezione fa parte del modulo Dati, attese e richieste web. L’obiettivo del modulo è: Capire come gestire operazioni che non danno una risposta immediata.
Parole nuove
- dato valido: dato che ha la forma che ti aspetti.
- controllo: verifica prima di usare un valore.
Cosa impari
- Capire il concetto senza partire da definizioni astratte.
- Vedere un esempio piccolo che puoi copiare e modificare.
- Collegare l’argomento al risultato del modulo: una piccola dashboard che mostra dati caricati da una fonte esterna.
Esempio da copiare
function mostraNome(utente) {
if (!utente || !utente.name) {
console.log("Nome non disponibile");
return;
}
console.log(utente.name);
}
mostraNome({ name: "Leanne" });
mostraNome({});
Non devi memorizzare tutto subito. Prima copia l’esempio, fallo funzionare e cambia una cosa alla volta.
Esercizi
Base · facile
Scrivi mostraNome(utente) che stampa il nome se esiste, altrimenti un messaggio alternativo. Provala con { name: "Leanne" } e con {}.
Soluzione
function mostraNome(utente) {
if (!utente || !utente.name) {
console.log("Nome non disponibile");
return;
}
console.log(utente.name);
}
Il controllo iniziale (guard clause) protegge dal caso di dato mancante o incompleto.
Intermedio · medio
Estendi il controllo a una lista: se l’array è vuoto mostra «Nessun risultato», altrimenti stampa i nomi. Prova con una lista piena e una vuota.
Sfida · difficile
Spiega perché non bisogna fidarsi dei dati ricevuti da una fonte esterna. Mostra l’uso dell’optional chaining (utente?.address?.city) e di un valore di default (?? "città sconosciuta") per leggere dati annidati senza far crashare il codice.
Controllo finale
Hai finito quando il codice non si rompe se il dato è incompleto.