05. Private Data
Approaches for managing private data for ES6 classes:
Keeping private data in the environment of a class constructor
Marking private properties via a naming convention (e.g. a prefixed underscore)
Keeping private data in
WeakMapsUsing symbols as keys for private properties
Private data via constructor environments
class Countdown {
constructor(counter, action) {
Object.assign(this, {
dec() {
if (counter < 1) return;
counter--;
if (counter === 0) {
action();
}
}
});
}
}Private data via a naming convention
Private data via WeakMaps
WeakMapsPrivate data via symbols
Last updated
Was this helpful?