EventEmitter quản lý named event subscriptions — implements Observer pattern.
js
class EventEmitter {
constructor() { this.events = {}; }
on(event, fn) { (this.events[event] ||= []).push(fn); }
off(event, fn) { this.events[event] = this.events[event]?.filter(f => f !== fn); }
emit(event, ...args) { this.events[event]?.forEach(fn => fn(...args)); }
}Dùng trong state management, pub/sub systems.