CoffeeScript가 자동으로 범위의 마지막 항목을 반환하는 것 같습니다. 이 기능을 피할 수 있습니까?
답변
명시 적으로 아무것도 반환하지 않거나 함수 하단에 undefined로 평가되는 표현식을 남겨 두어야합니다.
fun = ->
doSomething()
return
또는:
fun = ->
doSomething()
undefined
이것은 이해력을 사용할 때 문서가 권장하는 것입니다.
이러한 경우 함수 하단에 의미있는 반환 값 ( 예 : true 또는 null) 을 추가하여 실수로 이해 결과를 반환하지 않도록주의 하세요 .
그러나 다음과 같이 래퍼를 작성할 수 있습니다.
voidFun = (fun) ->
->
fun(arguments...)
return
( 여기에 표시 연산자 ( ...
))
함수를 정의 할 때 다음과 같이 사용하십시오.
fun = voidFun ->
doSomething()
doSomethingElse()
또는 다음과 같이 :
fun = voidFun(->
doSomething()
doSomethingElse()
)
답변
예, return
함수의 마지막 줄은 a입니다.
예를 들면
answer = () ->
42
extrovert = (question) ->
answer()
introvert = (question) ->
x = answer()
# contemplate about the answer x
return
커피가 컴파일되는 js가 무엇인지 확인하려면 http://bit.ly/1enKdRl을 시도하십시오 . (예를 들어 coffeescript redux를 사용했습니다)
답변
재미있는 것 (ctional)
suppressed = _.compose Function.prototype, -> 'do your stuff'
Function.prototype
그 자체는 항상 아무것도 반환하지 않는 함수입니다. compose를 사용하여 반환 값을이 블랙홀로 파이프 할 수 있으며 구성된 함수는 아무것도 반환하지 않습니다.
답변
longRunningFunctionWithNullReturn = ->
longRunningFunction()
null
답변
CoffeeScript의 함수는 항상 무언가를 반환해야합니다 null
. C에서는 void
반환 유형이 있습니다.
->
, 빈 함수는로 컴파일 (function() {})
되므로 아무것도 반환하지 않는 유일한 함수입니다.