Why does new EventEmitter().on("event", array.push)
work unexpected
let array = [];
let a = new EventEmitter();
a.on("event", array.push);
a.emit("event", 123);
setTimeout(console.log, 1000, array);
Expect: [123]
Actual: []
However, replacing a.on("event", array.push);
with a.on("event", (a) => { array.push(a); });
works