skip to content
developertype
mobile typing isn't scored — practice only

class Emitter {

JavaScript · general · type the snippet below to practice

wpm0
acc100%
time
def fib(n): a, b = 0, 1 for _ in range(n): a, b = b, a + b return a
tab indent · shift+tab outdent · ctrl+⌫ delete word · esc restart ·

about this snippet

This is the emitter snippet in JavaScript — 13 lines of real JavaScript code that exercises common patterns you'll see in production. DeveloperType scores you on net WPM and accuracy and only counts runs above 95% accuracy on the leaderboard, so practice rewards precision, not speed alone.

view source (13 lines)
class Emitter {
  constructor() {
    this.handlers = new Map();
  }
  on(event, fn) {
    if (!this.handlers.has(event)) this.handlers.set(event, new Set());
    this.handlers.get(event).add(fn);
  }
  emit(event, payload) {
    this.handlers.get(event)?.forEach((fn) => fn(payload));
  }
}

more JavaScript snippets:

browse all JavaScript snippets →