JavaScript Private Class Fields
New Courses Coming Soon
Join the waiting lists
Introduction and code samples on using private class fields in JavaScript.
Before the introduction of private class fields, we could not really enforce private properties on a class. We used conventions instead, maybe using _
as an hint that the field is private, like this:
class Counter {
_count = 0
increment() {
this._count++
}
}
But we could access the count using
const counter = new Counter()
counter._count
We can now use private class fields that enforce private fields:
class Counter {
#count = 0
increment() {
this.#count++
}
}
We now can’t access this value from the outside. Trying to access it will raise a syntax error.
This is part of the new class fields proposal, which you can use since Chrome 72 and Node 12.
→ Get my JavaScript Beginner's Handbook
→ Read my
JavaScript Tutorials
on The Valley of Code
→ Read my
TypeScript Tutorial
on The Valley of Code
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- BOOKS 16 coding ebooks you can download for free on JS Python C PHP and lots more
- Follow me on X