tutorial react rails objects loop for coffeescript

react - ¿Hay alguna forma de no devolver algo con CoffeeScript?



objects coffeescript (5)

Parece que CoffeeScript devuelve automáticamente el último elemento en un ámbito. ¿Puedo evitar esta funcionalidad?


Parece que las funciones en CoffeeScript siempre deben devolver algo, incluso null . En C, tiene void como tipo de devolución. -> , la función vacía, compila a (function() {}) , por lo que es la única función que no devuelve nada.


Sí, con un return como la última línea de una función.

Por ejemplo,

answer = () -> 42 extrovert = (question) -> answer() introvert = (question) -> x = answer() # contemplate about the answer x return

Si desea ver a qué js compila el café, intente http://bit.ly/1enKdRl . (He utilizado coffeescript redux para mi ejemplo)


Solo algo divertido (ctional)

suppressed = _.compose Function.prototype, -> ''do your stuff''

Function.prototype sí es una función que siempre devuelve nada. Puede usar componer para canalizar su valor de retorno en este agujero negro y la función compuesta nunca devolverá nada.


Tiene que devolver nada explícitamente, o dejar una expresión que evalúe como indefinida en la parte inferior de su función:

fun = -> doSomething() return

O:

fun = -> doSomething() undefined

Esto es lo que recomienda el doc. Al usar las comprensiones:

Tenga cuidado de no devolver accidentalmente los resultados de la comprensión en estos casos, agregando un valor de retorno significativo , como verdadero o nulo, al final de su función .

Sin embargo, podría escribir un contenedor como este:

voidFun = (fun) -> -> fun(arguments...) return

(Observe el operador de splat aquí ( ... ))

Y úsala así cuando defines funciones:

fun = voidFun -> doSomething() doSomethingElse()

O así:

fun = voidFun(-> doSomething() doSomethingElse() )


longRunningFunctionWithNullReturn = -> longRunningFunction() null