Ответ 1
util = require 'util'
EventEmitter = require('events').EventEmitter
Ticker = ->
self = this
setInterval ->
self.emit 'tick'
, 1000
true
Вы добавляете второй параметр, выстраивая запятую с помощью функции, с которой вы проходите, поэтому он знает, что второй параметр подходит.
Он также возвращает true вместо setInterval, хотя я лично не вижу преимущества не возвращать setInterval.
Вот версия с толстой стрелкой (см. комментарии) и назначение деструкции (см. другой комментарий). Также возвращаем setInterval вместо явного возвращения true.
util = require 'util'
{EventEmitter} = require 'events'
Ticker = ->
setInterval =>
@emit 'tick'
, 1000