0Pricing
JavaScript Academy · Lesson

Class fields, private # fields, static members

Create classes with public fields, hide data with private # fields, and add static properties/methods.

Why classes?

Goal: Build small, clear classes.

  • Public fields and methods
  • #private fields for hidden state
  • static properties/methods for class-level helpers
  • Keep examples tiny and readable
Class fields, private # fields, static members — illustration 1

Public fields & constructor

Create a class with a public field and small methods; keep logic simple for beginners.

// 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, static members — illustration 2

All lessons in this course

  1. Class fields, private # fields, static members
  2. Inheritance, super, and when to prefer composition
  3. Mixins (taste) — simple reuse without deep hierarchies
← Back to JavaScript Academy