Costumo ver pessoas escrevendo CoffeeScript sem usar o operador existencial (um ponto de interrogação), provavelmente porque muitos de seus usos interessantes não são mencionados em muitos lugares, exceto no grande Little Book on CoffeeScript .
Basicamente, conforme explicado no livro, ele retorna verdadeiro, a menos que a variável seja nula ou indefinida:
eatFood() if food?
Ele pode ser usado de forma semelhante ao .try (: método) no Rails, como neste exemplo que você pode ter visto em alguns tutoriais:
# Only call .log if console exists
console?.log "Example"
Um dos meus pequenos truques favoritos ultimamente tem sido fazer o seguinte para lidar com retornos de chamada:
example = (data, callback = null) ->
someValue = anAsyncThing(data)
# Only execute callback if it isn't null
callback?(someValue)
example (value) ->
console?.log value