Proprietà statiche
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 32 di 56.
Le proprietà statiche appartengono alla classe stessa, non alle istanze della classe. Sono condivise da tutte le istanze.
Definisci una classe con una proprietà statica:
class Counter {
// Definisci una proprietà statica
static count = 0;
constructor() {
// Incrementa il conteggio statico ogni volta che viene creata una nuova istanza
Counter.count++;
}
}Accedi alla proprietà statica usando il nome della classe:
console.log(Counter.count); // 0
// Crea alcune istanze
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Le proprietà statiche sono utili per i valori che dovrebbero essere condivisi tra tutte le istanze o per le costanti a livello di classe. Per esempio:
class MathConstants {
static GOLDEN_RATIO = 1.61803;
}
console.log(MathConstants.GOLDEN_RATIO); // 1.61803Sfida
Aggiungi le proprietà statiche PI ed E a una classe MathConstants:
- Proprietà statica
PIimpostata su3.14159 - Proprietà statica
Eimpostata su2.71828
Provalo tu
import { MathConstants } from './constants.js';
// Codice di test - non modificare
console.log(MathConstants.PI); // Dovrebbe produrre 3.14159
console.log(MathConstants.E); // Dovrebbe produrre 2.71828
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Oggetti e la keyword this
Ripasso rapido: oggettiAggiungere metodi agli oggettiCapire la keyword thisFunzioni costruttriciLa keyword newSfida di ripasso7Ereditarietà e parola chiave extends
EreditarietàLa relazione «è un»La parola chiave extendsIl metodo super()Ereditare proprietà e metodiSfida di ripasso13Composizione vs. ereditarietà
«Ha-un» vs. «è-un»I limiti dell’ereditarietà profondaCostruire oggetti2Organizzare il codice
Cosa sono i moduli?Esportare con exportImportare con importExport predefiniti vs. export nominati5Incapsulamento e accesso
IncapsulamentoCampi di classe pubblici e privatiMetodi privatiSfida di riepilogo8Organizzare il codice OOP
Organizzare le classi in moduli11Progetto: Un renderizzatore di forme
Configurazione: classe Shape ed esportazioneEreditarietà della classe CircleOverride e metodo areaContatore statico di Shape14Sistema di gestione della biblioteca
Progettare la bibliotecaClasse Book con composizioneValidazione dell'autore del libro9Metodi e proprietà statici
A livello di classe o di istanzaProprietà staticheMetodi statici di utilitàSfida di riepilogoEsercitati da solo: Compilatore JavaScript online