As variáveis de nível superior não têm escopo global e os valores de retorno são obrigatórios no CoffeeScript

funName = () ->
  $(".foo").addClass("bar");

Compila no escopo de uma função anônima. Ligar parafunName do console resulta emundefined.

(function() {
  var funName;
  funName = function() {
    return $(".foo").addClass("bar");
  };
}).call(this);

Qual é o seu motivo para compilar assim e como eu trabalho com ele?

Além disso, qualquer insight sobre o retorno obrigatório nas funções usando o CoffeeScript seria ótimo. Por que é assim? Como preciso codificar de maneira diferente por causa disso?

questionAnswers(3)

yourAnswerToTheQuestion