Static & Private Class Fields
Why is it beneficial to make the listeners collection private?
class EventEmitter {
#listeners = new Map();
on(event, callback) {
if (!this.#listeners.has(event)) {
this.#listeners.set(event, new Set());
}
this.#listeners.get(event).add(callback);
}
emit(event, data) {
this.#listeners.get(event)?.forEach(callback => callback(data));
}
}