Latihan 1: Observer Pattern — Design Patterns

Latihan 1 dari materi Observer Pattern di Design Patterns — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi method listenerCount(event) di class EventEmitter supaya mengembalikan jumlah listener yang terdaftar untuk event itu, dan 0 kalau event-nya belum pernah didaftarkan.

  1. constructor, on, dan emit sudah ada di starter dan tetap begitu.
  2. Isi listenerCount(event): ambil array this.listeners[event], pakai cadangan [] kalau array-nya belum ada, lalu kembalikan panjangnya.
  3. Kode di bawah class sudah ada dan tetap. Console harus mencetak empat baris ini, berurutan:
    • 0 (click, sebelum ada listener)
    • 2 (click, sesudah dua on)
    • 1 (hover)
    • 0 (scroll, yang gak pernah didaftarkan)

Yang juga dinilai: emitter baru dengan dua listener save dan satu load harus menghasilkan [2, 1, 0] untuk listenerCount('save'), listenerCount('load'), dan listenerCount('never-used').

Hint