taken from https://flaviocopes.com/javascript-private-class-fields/
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.