Tipi, variabili e valori

JavaScript è concepito come linguaggio operativo del Web: ogni pagina o applicazione che esegue codice client-side poggia sulla sua capacità di descrivere, manipolare e reagire ai contenuti del documento. Il capitolo 2 di JavaScript: The Definitive Guide (7ª ed.) inizia proprio da qui, affrontando la natura dei valori e delle variabili, perché una comprensione solida di questi concetti è prerequisito per tutto il resto del linguaggio.

Il punto cardine da fissare è il seguente: i valori possiedono un tipo, le variabili no. In JavaScript le variabili sono semplici contenitori dinamici; il tipo viene determinato soltanto dall’entità (il valore) che in un dato momento vi è assegnata. Questa caratteristica - il dynamic paging - garantisce flessibilità ma richiede rigore da parte di chi scrive il codice per evitare errori logici o di coercizione implicita.

image.png

Tipi primitivi

I tipi primitivi rappresentano entità atomiche, non ulteriormente de-strutturabili:

Questi tipi sono immutabili: ogni operazione che sembra modificarne il contenuto, in realtà, crea un nuovo valore.

Tipi oggetto

Tutto ciò che non è primitivo ricade nel macro-tipo object, un insieme eterogeneo di proprietà indirizzate da chiavi. Tre categorie meritano menzione immediata:

Gli oggetti sono mutabili: due variabili che fanno riferimento allo stesso oggetto condividono stato; le operazioni agiscono per via referenziale.

Variabili

Le variabili, nel linguaggio JavaScript, sono riferimenti puri: non contengono direttamente il valore, ma puntano a un valore memorizzato altrove in memoria. Questa natura di riferimento fa sì che l’identità della variabile sia distinta dal dato a cui fa riferimento.