답변 1
1
FP에서는 state를 갖지 않도록 프로그래밍 하기 위해 노력합니다.
일반적인 while이나 for 를 사용하면 값이 변하는 변수를 갖게 되고, 이 변수가 state
가 됩니다.
최대한 state
가 없도록 하려는 방안중 하나로 재귀가 사용되는 것입니다.
state
없이 loop를 사용하는 방법중에 forEach 나 map 같은 것을 사용할 수도 있습니다.
while을 사용하더라도 state
없이 가능하다면 충분히 사용할 수 있습니다.
예제에서 재귀를 사용했던 것은 state
를 없애고 대신 함수의 입력값으로 처리할 수 있도록 변경하여기 위해서 재귀함수를 사용했던 것입니다.