반응형
CoffeeScript를 사용하여 무언가를 반환하지 않는 방법이 있습니까?
CoffeeScript가 범위의 마지막 항목을 자동으로 반환하는 것 같습니다. 이 기능을 피할 수 있습니까?
명시 적으로 아무것도 반환하지 않거나 함수의 맨 아래에 정의되지 않은 식을 평가하지 않아야합니다.
fun = ->
doSomething()
return
또는:
fun = ->
doSomething()
undefined
이것이 이해를 사용할 때 의사가 권장하는 것입니다.
이러한 경우 함수 하단에 true 또는 null과 같은 의미있는 반환 값 을 추가하여 실수로 이해 결과를 반환하지 않도록주의하십시오 .
그러나 다음과 같이 래퍼를 작성할 수 있습니다.
voidFun = (fun) ->
->
fun(arguments...)
return
( 여기서 스 플랫 연산자에 대한 알림 ( ...
))
함수를 정의 할 때 다음과 같이 사용하십시오.
fun = voidFun ->
doSomething()
doSomethingElse()
또는 이렇게 :
fun = voidFun(->
doSomething()
doSomethingElse()
)
예, return
함수의 마지막 줄로.
예를 들어
answer = () ->
42
extrovert = (question) ->
answer()
introvert = (question) ->
x = answer()
# contemplate about the answer x
return
커피가 컴파일되는 js를 보려면 http://bit.ly/1enKdRl을 시도하십시오 . (내 예제에는 coffeescript redux를 사용했습니다)
재미 있음
suppressed = _.compose Function.prototype, -> 'do your stuff'
Function.prototype
자체는 항상 아무것도 반환하지 않는 함수입니다. compose를 사용하여 리턴 값을이 블랙홀에 파이프 할 수 있으며 작성된 함수는 절대로 리턴하지 않습니다.
longRunningFunctionWithNullReturn = ->
longRunningFunction()
null
CoffeeScript의 함수는 항상 무언가를 반환해야합니다 null
. C에서는 void
반환 유형이 있습니다. ->
, 빈 함수는로 컴파일 (function() {})
되므로 아무것도 반환하지 않는 유일한 함수입니다.
반응형
'IT story' 카테고리의 다른 글
java.net.UnknownHostException : 서버의 유효하지 않은 호스트 이름 : local (0) | 2020.07.22 |
---|---|
Pimpl 관용구 대 순수 가상 클래스 인터페이스 (0) | 2020.07.22 |
C ++ 컴파일러가이 조건부 부울 할당을 무조건 할당으로 최적화하지 않는 이유는 무엇입니까? (0) | 2020.07.22 |
스칼라에서 'val a : A = _'(밑줄)은 정확히 무엇을 의미합니까? (0) | 2020.07.22 |
Java로 로그인하면 어떤 일이 발생합니까? (0) | 2020.07.22 |