Chiamate opzionali e accesso tramite indice
Usi l'optional chaining con chiamate e parentesi quadre.
Chiamate opzionali e accesso tramite indice è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 4 lezioni in totale.
Oltre la lettura delle proprietà
L'optional chaining offre anche forme per chiamare funzioni e accedere in sicurezza a elementi di array o a chiavi dinamiche.
const obj = { greet: () => "hi" };
console.log(obj.greet?.()); // "hi"Chiamate opzionali di metodi
La forma ?.() chiama una funzione solo se esiste. Se il metodo è nullish, restituisce undefined invece di generare un'eccezione.
const obj = {};
console.log(obj.greet?.()); // undefined, no errorPerché è importante
Senza questo operatore, la chiamata di un metodo mancante genera un'eccezione. La forma di chiamata opzionale protegge in modo chiaro dai callback opzionali.
function run(onDone) {
onDone?.(); // safe whether or not onDone is provided
}
run();
run(() => console.log("done"));Solo i valori nullish saltano la chiamata
?.() salta la chiamata solo quando il valore è null o undefined. Se il valore non è una funzione, la chiamata genera comunque un TypeError.
const obj = { greet: 42 };
try {
obj.greet?.();
} catch (e) {
console.log("not a function");
}Accesso opzionale tramite indice
La forma ?.[ ] legge un elemento solo se il valore di base non è nullish; è utile per gli array e per le chiavi calcolate.
const arr = ["a", "b"];
console.log(arr?.[1]); // "b"
const none = null;
console.log(none?.[0]); // undefinedChiavi dinamiche
L'accesso tramite parentesi quadre con ?. gestisce in sicurezza i nomi di proprietà dinamici.
const data = { user: { name: "Mia" } };
const key = "name";
console.log(data.user?.[key]); // "Mia"Array annidati
È possibile concatenare l'accesso opzionale tramite indice attraverso array o oggetti annidati.
const grid = [[1, 2], [3, 4]];
console.log(grid?.[1]?.[0]); // 3
console.log(grid?.[5]?.[0]); // undefinedChiamata opzionale sul valore restituito
È possibile combinare le forme: leggere un valore in modo opzionale e poi chiamarlo anch'esso in modo opzionale.
const handlers = { click: () => "clicked" };
console.log(handlers.click?.()); // "clicked"
console.log(handlers.hover?.()); // undefinedCombinare con valori predefiniti
Combini queste forme con ?? per fornire un fallback al risultato.
const config = {};
const port = config.get?.() ?? 3000;
console.log(port); // 3000Chiamare i metodi degli array in sicurezza
L'optional chaining consente di chiamare un metodo su un array che potrebbe mancare, senza un controllo separato della sua esistenza.
const state = { tags: null };
console.log(state.tags?.join(", ") ?? "none"); // "none"Usarlo quando l'opzionalità è reale
Queste forme sono particolarmente utili per i callback opzionali e per strutture di dati incerte. Le eviti quando un valore dovrebbe esistere sempre, così gli errori reali continuano a emergere.
const events = { onSave: null };
events.onSave?.("payload"); // silently does nothing
console.log("continued");Verifica rapida
Scelga la forma di chiamata sicura.
Riepilogo
L'optional chaining include ?.() per le chiamate sicure di metodi e ?.[ ] per l'accesso sicuro tramite indice o chiave dinamica. Entrambe restituiscono undefined quando il valore di base è nullish, ma generano comunque un'eccezione se si chiama un valore non-funzione. Le combini con ?? per fornire valori predefiniti e le riservi ai valori realmente opzionali.
Domande Frequenti
La lezione «Chiamate opzionali e accesso tramite indice» è gratuita?
Sì — il testo completo di «Chiamate opzionali e accesso tramite indice» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 4 lezioni in totale.
Cosa imparerò in «Chiamate opzionali e accesso tramite indice»?
Usi l'optional chaining con chiamate e parentesi quadre. Eserciti JavaScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare JavaScript Academy?
Non è richiesta alcuna esperienza precedente. JavaScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Chiamate opzionali e accesso tramite indice»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione JavaScript Academy?
Sì. Ogni lezione JavaScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Chaining opzionale con l'operatore ?.
- Nullish coalescing con ??
- Combinare ?. e ??
- Chiamate opzionali e accesso tramite indice