JavaScript Academy · Lektion

Class fields, private # fields og statiske medlemmer

Opret klasser med offentlige fields, skjul data med private # fields, og tilføj statiske properties og metoder.

Lektion 1 af 38 trin

Class fields, private # fields og statiske medlemmer er en gratis JavaScript Academy-lektion på CoddyKit. Dette er lektion 1 af 3. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i JavaScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. JavaScript Academy-kurset indeholder 3 lektioner i alt.

Hvorfor klasser?

Mål: Byg små, tydelige klasser.

  • Offentlige felter og metoder
  • #private-felter til skjult tilstand
  • static-egenskaber/metoder til hjælpefunktioner på klasseniveau
  • Hold eksemplerne små og nemme at læse
Class fields, private # fields og statiske medlemmer — illustration 1

Offentlige felter og konstruktør

Opret en klasse med et offentligt felt og små metoder; hold logikken enkel for begyndere.

// 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
Class fields, private # fields og statiske medlemmer — illustration 2

Private felter med #

Felter med #private håndhæves af sproget og kan kun bruges inde i klassens krop. Eksponér læsemetoder, hvis det er nødvendigt.

// 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);
Class fields, private # fields og statiske medlemmer — illustration 3

Gettere til sikre læsninger

En getter kan returnere en afledt eller valideret værdi, samtidig med at feltet forbliver privat.

// 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);
Class fields, private # fields og statiske medlemmer — illustration 4

Statiske medlemmer

static-medlemmer kaldes på klassen (f.eks. MathHelp.circleArea()), ikke på instanser.

// 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
Class fields, private # fields og statiske medlemmer — illustration 5

Begyndervenlige vaner

Tips:

  • Foretræk små klasser med få, tydelige metoder.
  • Brug #private for reel privathed; understregninger er kun en navngivningskonvention.
  • Placér konstanter og hjælpefunktioner på static-medlemmer.
  • Eksponér kun de nødvendige læsemetoder (gettere), hvis du har brug for adgang udefra.
Class fields, private # fields og statiske medlemmer — illustration 6

Quiz om grundlæggende private felter

Hurtigt tjek: Felter med #private.

Class fields, private # fields og statiske medlemmer — illustration 7

Opsummering

Opsummering: Brug offentlige felter til enkel tilstand, #private til at skjule interne detaljer og static til hjælpefunktioner på klasseniveau. Hold hver klasse lille og nem at læse.

Class fields, private # fields og statiske medlemmer — illustration 8
Gratis at komme i gang

Lær JavaScript med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
59
Lektioner
200

Ofte stillede spørgsmål

Er lektionen “Class fields, private # fields og statiske medlemmer” gratis?

Ja — alle 3 lektioner i læringssporet JavaScript Academy, inklusive “Class fields, private # fields og statiske medlemmer”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. JavaScript Academy-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “Class fields, private # fields og statiske medlemmer”?

Opret klasser med offentlige fields, skjul data med private # fields, og tilføj statiske properties og metoder. Du øver dig i JavaScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på JavaScript Academy?

Der kræves ingen tidligere erfaring. JavaScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 3.

Hvor lang tid tager lektionen “Class fields, private # fields og statiske medlemmer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne JavaScript Academy-lektion?

Ja. Alle JavaScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Class fields, private # fields og statiske medlemmer
  2. Nedarvning, super og hvornår De bør foretrække komposition
  3. Mixins (smagsprøve) — enkel genbrug uden dybe hierarkier
← Tilbage til JavaScript Academy