Quando inizi a programmare in JavaScript, una delle prime cose da capire è la differenza tra tipi primitivi e oggetti (classi). Questa distinzione è fondamentale perché influenza il modo in cui i dati vengono salvati, copiati e manipolati.
Cosa sono i tipi primitivi in JavaScript?
I tipi primitivi sono i valori più semplici e basilari in JavaScript. Non sono oggetti e non hanno metodi propri (anche se JavaScript li “avvolge” temporaneamente per permetterti di usarli come se fossero oggetti).
I tipi primitivi sono 7:
String → testo (es.
"Ciao")Number → numeri (es.
42,3.14)Boolean → vero o falso (
true,false)Null → valore intenzionalmente vuoto
Undefined → valore non definito
Symbol → identificatori unici
BigInt → numeri molto grandi
📌 Esempio:
let nome = "Mario"; // String
let eta = 30; // Number
let isOnline = true; // Boolean
let vuoto = null; // Null
let nonDefinito; // Undefined
I valori primitivi sono immutabili: se cambi una variabile, in realtà stai creando un nuovo valore in memoria.
Tipi primitivi vs Oggetti: la differenza chiave
La differenza principale sta nel modo in cui vengono salvati e copiati:
Tipi primitivi → sono salvati per valore
let a = 10;
let b = a;
b = 20;
console.log(a); // 10 (rimane invariato)
Oggetti → sono salvati per riferimento
let obj1 = { nome: "Mario" };
let obj2 = obj1;
obj2.nome = "Luca";
console.log(obj1.nome); // Luca (cambiato anche in obj1)
Classi in JavaScript
Con ES6, JavaScript ha introdotto la sintassi delle classi, che rendono più chiaro lavorare con gli oggetti.
Esempio:
class Persona { constructor(nome, eta) {
this.nome = nome;
this.eta = eta;
}
saluta() {
console.log(`Ciao, sono ${this.nome}`);
}
}
let p1 = new Persona("Anna", 25);
p1.saluta(); // Output: Ciao, sono Anna
Le classi non sono altro che “sintassi più pulita” per creare oggetti e usare l’ereditarietà.
CONCLUSIONI E VIDEO
I tipi primitivi sono semplici, immutabili e salvati per valore.
Gli oggetti sono complessi, mutabili e salvati per riferimento.
Le classi offrono un modo più ordinato per creare e gestire oggetti in JavaScript.
Capire questa differenza è essenziale per scrivere codice JavaScript efficiente e senza bug. Di seguito, per chi preferisce spiegazioni visuali, un video in cui riepilogo le principali differenze.
