Clonazione strutturata e URLSearchParams
Copi in profondità i dati con structuredClone (mantenendo Date/Map/Set) e analizzi o costruisci stringhe di query con URLSearchParams.
Clonazione strutturata e URLSearchParams è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. 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 3 lezioni in totale.
Perché usare questi strumenti?
Obiettivo: copiare e serializzare in sicurezza i dati degli URL.
- structuredClone crea copie profonde dei dati
- Conserva Date/Map/Set
- URLSearchParams analizza e costruisce le query
- Pattern adatti ai principianti

Copia profonda che conserva i tipi
structuredClone crea una copia profonda e mantiene intatti gli oggetti Date.
// Deep copy with structuredClone (Node 17+/modern browsers)
const original = { n: 1, list: [1, 2], when: new Date("2024-01-01") };
const copy = structuredClone(original);
copy.n = 2;
copy.list.push(3);
console.log("original.n:", original.n);
console.log("copy.n:", copy.n);
console.log("dates equal type?", copy.when instanceof Date);

JSON perde i tipi
JSON contiene solo dati; Date/Map/Set diventano valori semplici o vanno persi.
// JSON round-trip loses special types (e.g., Date becomes string)
const obj = { when: new Date("2024-01-01"), ok: true };
const round = JSON.parse(JSON.stringify(obj));
console.log("after JSON:", typeof round.when, round.when);
console.log("is Date?", round.when instanceof Date);

Map e Set vengono preservati
Map e Set vengono clonati correttamente con structuredClone.
// structuredClone preserves Map and Set
const m1 = new Map([["a", 1]]);
const s1 = new Set([1, 2]);
const cloned = structuredClone({ m1, s1 });
console.log("map has a?", cloned.m1.has("a"));
console.log("set has 2?", cloned.s1.has(2));

Analizzare le stringhe di query
URLSearchParams legge le stringhe di query; utilizzi get, getAll, has e iteri se necessario.
// Parse a query string with URLSearchParams
const qs = "q=shoes&color=red&color=blue&page=2";
const params = new URLSearchParams(qs);
console.log("q:", params.get("q"));
console.log("first color:", params.get("color"));
console.log("all colors:", params.getAll("color"));
console.log("page:", params.get("page"));

Costruire stringhe di query
Utilizzi set/append e poi toString() per creare stringhe di query sicure.
// Build a query string from key/value pairs
const build = new URLSearchParams();
build.set("q", "shoes");
build.append("color", "red");
build.append("color", "blue");
build.set("page", String(2));
console.log("query:", build.toString());
// Example full URL
const url = "https://example.com/search?" + build.toString();
console.log("url:", url);

Quiz su structuredClone e JSON
Verifica rapida: copia profonda che conserva i tipi.

Riepilogo
Riepilogo: utilizzi structuredClone per creare copie profonde che conservano tipi come Date/Map/Set. Utilizzi URLSearchParams per analizzare e costruire stringhe di query in sicurezza.

Domande Frequenti
La lezione «Clonazione strutturata e URLSearchParams» è gratuita?
Sì — il testo completo di «Clonazione strutturata e URLSearchParams» è 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 3 lezioni in totale.
Cosa imparerò in «Clonazione strutturata e URLSearchParams»?
Copi in profondità i dati con structuredClone (mantenendo Date/Map/Set) e analizzi o costruisci stringhe di query con URLSearchParams. 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 2 di 3.
Quanto tempo richiede la lezione «Clonazione strutturata e URLSearchParams»?
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
- Basi di JSON.parse / JSON.stringify
- Clonazione strutturata e URLSearchParams
- Strategie per un parsing sicuro del JSON