🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Static in Javascript

Codegrind Team•Jul 22 2023

In JavaScript, la parola chiave static viene utilizzata all’interno di una classe per definire membri (metodi o proprietà) che appartengono alla classe stessa anziché a istanze specifiche di quella classe. Ciò significa che tali membri sono accessibili direttamente tramite la classe, anziché attraverso un’istanza della classe.

Utilità del Modificatore Statico

L’uso del modificatore static è utile quando si desidera condividere dati o funzionalità tra tutte le istanze di una classe, senza duplicare risorse per ogni istanza. Ad esempio, i membri statici possono essere utilizzati per creare funzioni di utilità che sono indipendenti dalle istanze ma sono comuni a tutte le istanze.

Sintassi per Definire Membri Statici

Per definire membri statici all’interno di una classe, utilizziamo la parola chiave static seguita dal nome del membro. Ecco un esempio:

class Contatore {
  static contatoreTotale = 0;

  constructor() {
    Contatore.contatoreTotale++;
  }

  static incrementaContatore() {
    Contatore.contatoreTotale++;
  }
}

Nell’esempio sopra, contatoreTotale è un membro statico della classe Contatore, che tiene traccia del numero totale di istanze create.

Accesso ai Membri Statici

I membri statici possono essere accessibili direttamente dalla classe, senza dover creare un’istanza della classe:

console.log(Contatore.contatoreTotale); // Output: 0

const istanza1 = new Contatore();
console.log(Contatore.contatoreTotale); // Output: 1

const istanza2 = new Contatore();
console.log(Contatore.contatoreTotale); // Output: 2

Utilizzo di Membri Statici

I membri statici possono essere utilizzati per scopi vari, come tenere traccia di dati comuni a tutte le istanze, creare metodi di utilità che non dipendono dalle istanze o implementare pattern di progettazione come il Singleton.

Limitazioni dei Membri Statici

È importante notare che i membri statici appartengono alla classe stessa e non possono accedere alle proprietà o ai metodi delle istanze dell’oggetto. Possono essere utilizzati solo con membri statici o metodi statici.

Conclusioni

L’utilizzo del modificatore static all’interno delle classi JavaScript consente di definire membri che appartengono alla classe stessa anziché a istanze specifiche. Ciò può semplificare la condivisione di dati e funzionalità comuni tra le istanze e consentire la creazione di metodi di utilità o di pattern di progettazione specifici.