AD

I campi privati delle classi in JavaScript

I campi privati sono variabili o proprietà di una classe che non sono direttamente accessibili dall'esterno della classe. In altre parole, sono nascosti all'esterno della classe e possono essere acceduti solo dai metodi all'interno della stessa classe. Questo concetto è importante perché consente di nascondere dati sensibili o complessi all'esterno della classe.

Come dichiarare campi privati in JavaScript

Per dichiarare campi privati in JavaScript, utilizziamo il prefisso # prima del nome del campo. Ad esempio:

class Persona {   #nome;   #cognome;   constructor(nome, cognome) {     this.#nome = nome;     this.#cognome = cognome;   }   saluta() {     return `Ciao, sono ${this.#nome} ${this.#cognome}.`;   } }

Nell'esempio sopra, abbiamo dichiarato due campi privati #nome e #cognome all'interno della classe Persona.

Come accedere ai campi privati di una classe in JavaScript

Poiché i campi privati non possono essere acceduti direttamente dall'esterno della classe, dobbiamo utilizzare metodi pubblici per leggere o modificare tali campi. Ad esempio:

const persona = new Persona("Mario", "Rossi"); console.log(persona.saluta()); // Restituirà "Ciao, sono Mario Rossi." // Modifica dei campi privati persona.#nome = "Luca"; // Errore! Impossibile accedere direttamente.

Uno dei metodi più comuni per accedere ai campi privati di una classe, consiste nell’utilizzare i getters e setters.

Vantaggi dei campi privati

L'uso di campi privati offre diversi vantaggi:

  • Incapsulamento: i campi privati consentono di incapsulare dati sensibili o complessi, evitando l'accesso non autorizzato.

  • Mantenimento dei dati: poiché i campi privati possono essere modificati solo da metodi della classe, è possibile implementare la logica di controllo per garantire che i dati rimangano coerenti.

  • Estensibilità: se in futuro è necessario apportare modifiche alla classe, è possibile farlo senza dover modificare il codice esterno che utilizza la classe.

  • Riduzione dei bug: nascondendo dati sensibili, si riduce il rischio di errori e bug dovuti a modifiche accidentali.