Tipi Primitivi e Oggetti in JavaScript: Guida per Principianti

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:

  1. String → testo (es. "Ciao")

  2. Number → numeri (es. 42, 3.14)

  3. Boolean → vero o falso (true, false)

  4. Null → valore intenzionalmente vuoto

  5. Undefined → valore non definito

  6. Symbol → identificatori unici

  7. 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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *