Junior
Quali strutture dati esistono in JavaScript?
sobes.tech AI
Risposta dell'AI
Tipi di dati più semplici: String (stringhe), Number (numeri), BigInt (grandi numeri interi), Boolean (tipo logico), Undefined (valore indefinito), Symbol (simboli), Null (valore nullo).
Strutture di dati complesse:
- Object (oggetto): Collezione di coppie chiave-valore.
// Oggetto semplice const user = { name: 'Ivan', age: 30 }; - Array (array): Collezione ordinata di elementi.
// Array di numeri const numbers = [1, 2, 3, 4, 5]; - Map (mappa): Collezione di coppie chiave-valore, dove le chiavi possono essere di qualsiasi tipo e mantengono l'ordine di inserimento.
// Mappa con diversi tipi di chiavi const map = new Map(); map.set('name', 'Peter'); map.set(1, 'numero'); - Set (insieme): Collezione di valori unici di qualsiasi tipo.
// Insieme di numeri unici const set = new Set([1, 2, 2, 3, 4, 4]); // Contiene [1, 2, 3, 4] - Typed Arrays (array tipizzati): Array di lunghezza fissa, i cui elementi hanno un tipo numerico definito (ad esempio,
Int8Array,Uint8Array,Float32Array).// Array di byte tipizzato const byteArray = new Uint8Array([10, 20, 30]); - WeakMap (mappa debole): Simile a
Map, ma le sue chiavi devono essere oggetti, e non impediscono al garbage collector di rimuovere gli oggetti associati.// Mappa debole const weakMap = new WeakMap(); const obj1 = {}; weakMap.set(obj1, 'dati 1'); - WeakSet (insieme debole): Simile a
Set, ma gli elementi devono essere oggetti, e non impediscono al garbage collector di rimuoverli.// Insieme debole const weakSet = new WeakSet(); const obj2 = {}; weakSet.add(obj2);
Esistono anche strutture utilizzate nelle API a basso livello o che rappresentano oggetti speciali:
ArrayBuffer: Rappresenta un buffer binario di lunghezza fissa.DataView: Fornisce un'interfaccia a basso livello per leggere e scrivere dati numerici in unArrayBuffer, consentendo di controllare gli offset e l'ordine dei byte.