Introduzione agli Array in Javascript
- Gli array sono una raccolta ordinata di valori, indicizzati da numeri interi.
- Gli array in JavaScript sono dinamici e non tipizzati, permettendo di contenere elementi di diversi tipi.
- Gli array sono a base zero, con il primo elemento all'indice 0.
- Gli array JavaScript ereditano metodi da
Array.prototype
, che forniscono funzionalità avanzate per la manipolazione degli array. - Gli array tipizzati, introdotti in ES6, offrono prestazioni elevate e accesso a livello di byte ai dati binari.
Introduzione agli Array
Da questa lezione inizieremo a studiare gli array, un tipo di dato fondamentale in JavaScript e nella maggior parte degli altri linguaggi di programmazione.
Di base, un array è una raccolta ordinata di valori. Ogni valore è chiamato elemento, e ogni elemento ha una posizione numerica nell'array, conosciuta come il suo indice.
Gli array JavaScript, a differenza di altri linguaggi di programmazione, sono non tipizzati: un elemento di un array può essere di qualsiasi tipo, e diversi elementi dello stesso array possono essere di tipi differenti. Gli elementi degli array possono anche essere oggetti o altri array, il che permette di creare strutture di dati complesse, come array di oggetti e array di array.
Gli array JavaScript sono a base zero e usano indici a 32 bit: l'indice del primo elemento è 0, e l'indice più alto possibile è 4294967294 (2^32^−2), per una dimensione massima dell'array di 4.294.967.295 elementi. Gli array JavaScript sono dinamici: crescono o si riducono secondo necessità, e non c'è bisogno di dichiarare una dimensione fissa per l'array quando lo si crea o di riallocarlo quando la dimensione cambia.
Gli array JavaScript possono essere sparsi: gli elementi non devono avere indici contigui, e possono esserci lacune.
Ogni array JavaScript ha una proprietà length
. Per array non sparsi, questa proprietà specifica il numero di elementi nell'array. Per array sparsi, length
è maggiore dell'indice più alto di qualsiasi elemento.
Gli array JavaScript sono una forma specializzata di oggetto JavaScript, e gli indici degli array sono in realtà poco più di nomi di proprietà che risultano essere numeri interi. Studieremo in dettaglio le specializzazioni degli array nelle prossime lezioni. Le implementazioni tipicamente ottimizzano gli array in modo che l'accesso agli elementi dell'array indicizzati numericamente sia generalmente significativamente più veloce dell'accesso alle proprietà regolari degli oggetti.
Gli array ereditano proprietà da Array.prototype
, che definisce un ricco insieme di metodi di manipolazione degli array, che vedremo in futuro. La maggior parte di questi metodi sono generici, il che significa che funzionano
correttamente non solo per array veri, ma per qualsiasi "oggetto simile a un array". Ad esempio, le stringhe JavaScript si comportano come array di caratteri, e ne discuteremo in seguito.
Lo standard ES6 introduce un insieme di nuove classi di array conosciute collettivamente come "array tipizzati". A differenza degli array JavaScript regolari, gli array tipizzati hanno una lunghezza fissa e un tipo di elemento numerico fisso. Offrono alte prestazioni e accesso a livello di byte ai dati binari. Li analizzeremo in dettaglio nelle prossime lezioni.