2017-04-02 1 views
1

내 임무에서이 정의를 얻었는데 정확하게 작동하는 방식과 정확히 무엇을 하는지를 정확히 파악할 수 없습니다.Typescript - 구성 구문입니까?

이것은 작성 구문입니까?

f은 특별한 정의가 없습니다. 주로 나는 x이 무엇인지 이해하지 못합니다.

const invokeN1 = (f, n) => 
    n === 0 ? (x) => x : (x) => f(invokeN1(f,n-1)(x)) 

답변

2

여기서 말하는 것은 호출 패턴/콜백입니다. invokeN1(func,n-1)은 하나의 변수의 함수를 반환합니다.

이 부셔

:

(f,n)=>whatever 

이 invokeN1 두 변수를 수용하는 기능, '무엇'에 의해 결정된 결과가 될 것이다 의미한다.

(x) => x 

이 반환 무슨이다 : 그것은 0 반환하는 경우, 이제 0와 동일한 유형과 가치를 가질 필요 -

invokeN1의 두 번째 매개 변수는
n===0? 

체크인 :의 그 살펴 보자 - 다른 호출 패턴! 동일한 인수를 반환하는 1 개의 인수의 함수를 나타냅니다. 여기서 (x)은 함수 서명이고, x은 반환 될 내용입니다.

n이 0이 아니면 어떻게됩니까?

(x) => f(invokeN1(f,n-1)(x)) 

또 다른 호출 패턴 - 다시, 하나의 인자를 받아들이는 함수, x로 표현하고, 오른쪽에있는 것은 당신이 바로, 즉 어떻게 할 것인지 반복적으로 말할 수 있어야 반환?

관련 문제