0Pricing
JavaScript Academy · Lezione

Campi delle classi, campi privati #, membri statici

Crei classi con campi pubblici, nascondi i dati con campi privati # e aggiungi proprietà e metodi statici.

Campi delle classi, campi privati #, membri statici è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 3 lezioni in totale.

Perché le classi?

Obiettivo: costruisca classi piccole e chiare.

  • Campi e metodi pubblici
  • Campi #private per lo stato nascosto
  • Proprietà e metodi static per gli strumenti a livello di classe
  • Mantenga gli esempi piccoli e leggibili
Campi delle classi, campi privati #, membri statici — illustrazione 1

Campi pubblici e costruttore

Crei una classe con un campo pubblico e piccoli metodi; mantenga semplice la logica per chi è alle prime armi.

// Public fields and a simple method
class Counter {
  // public field with default
  value = 0;

  constructor(start) {
    // use a default if start is not provided
    this.value = Number.isFinite(start) ? start : 0;
  }

  inc() {
    this.value = this.value + 1;
  }
}

const c1 = new Counter(2);
c1.inc();
console.log("value:", c1.value); // 3
Campi delle classi, campi privati #, membri statici — illustrazione 2

Campi #private

I campi #private sono imposti dal linguaggio e possono essere utilizzati solo all'interno del corpo della classe. Se necessario, esponga metodi di lettura.

// Private # fields hide internal state
class SafeCounter {
  // private field (only inside the class)
  #value = 0;

  constructor(start) {
    this.#value = Number.isFinite(start) ? start : 0;
  }

  inc() { this.#value = this.#value + 1; }
  getValue() { return this.#value; } // expose via method
}

const sc = new SafeCounter(5);
sc.inc();
console.log("safe value:", sc.getValue());

// External access fails (uncommenting the next line would throw):
// console.log(sc.#value);
Campi delle classi, campi privati #, membri statici — illustrazione 3

Getter per letture sicure

Un getter può restituire un valore derivato o convalidato mantenendo privato il campo.

// Getters provide read-only views; simple guard logic
class User {
  #name = "Anonymous";
  constructor(name) {
    if (typeof name === "string" && name.trim().length > 0) {
      this.#name = name.trim();
    }
  }
  get name() {
    return this.#name;
  }
}

const u = new User(" Ayla ");
console.log("name:", u.name);
Campi delle classi, campi privati #, membri statici — illustrazione 4

Membri static

I membri static vengono chiamati sulla classe (ad es. MathHelp.circleArea()), non sulle istanze.

// Static = belongs to the class, not to instances
class MathHelp {
  static PI = 3.14159;
  static circleArea(r) {
    if (!(typeof r === "number" && r >= 0)) return 0;
    return MathHelp.PI * r * r;
  }
}

console.log("PI:", MathHelp.PI);
console.log("area r=2:", MathHelp.circleArea(2));

// Instances do not have the static members:
const mh = new MathHelp();
console.log("instance has PI?", "PI" in mh); // false
Campi delle classi, campi privati #, membri statici — illustrazione 5

Buone abitudini per chi è alle prime armi

Suggerimenti:

  • Preferisca classi piccole con pochi metodi chiari.
  • Usi #private per la vera privacy; gli underscore sono solo una convenzione di denominazione.
  • Metta costanti e utilità nei membri static.
  • Esponga metodi di sola lettura minimi (getter) se serve accedere ai dati dall'esterno.
Campi delle classi, campi privati #, membri statici — illustrazione 6

Quiz sui campi #private

Verifica rapida: campi #private.

Campi delle classi, campi privati #, membri statici — illustrazione 7

Riepilogo

Riepilogo: usi i campi pubblici per lo stato semplice, #private per nascondere i dettagli interni e static per gli strumenti a livello di classe. Mantenga ogni classe piccola e facile da leggere.

Campi delle classi, campi privati #, membri statici — illustrazione 8

Domande Frequenti

La lezione «Campi delle classi, campi privati #, membri statici» è gratuita?

Sì — il testo completo di «Campi delle classi, campi privati #, membri statici» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 3 lezioni in totale.

Cosa imparerò in «Campi delle classi, campi privati #, membri statici»?

Crei classi con campi pubblici, nascondi i dati con campi privati # e aggiungi proprietà e metodi statici. Eserciti JavaScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare JavaScript Academy?

Non è richiesta alcuna esperienza precedente. JavaScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.

Quanto tempo richiede la lezione «Campi delle classi, campi privati #, membri statici»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione JavaScript Academy?

Sì. Ogni lezione JavaScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Campi delle classi, campi privati #, membri statici
  2. Ereditarietà, super e quando preferire la composizione
  3. Mixin (assaggio) — riuso semplice senza gerarchie profonde
← Torna a JavaScript Academy