curryR을 활용해 등록한 map 함수나 _filter함수 동작에 const mapR = _curryR(_map); console.log( mapR(v => v.name )(arr) ) ); 은 작동하는데 반해 console.log( mapR(v => v.name , arr) ); 은 작동하지 않습니다...저는 조금 이해가 안가는게 arguments.length ===2 로 파라미터가 2개 들어올때 의 경우의 수 까지 처리 한것으로 알고 있는데 왜 밑에 부분은 작동하지 않는지...맞게 동작하는 것인지 궁금합니다.... 만약 제가 놓치고 있는 부분이 있다면 알려주시면 감사드리겠습니다!
안녕하세요 유인동님! 순수함수 관련 질문이 있습니다. <질문1> ```js const addMaker = (a) => { // (*) return (b) => { // ....add return a + b; } } ``` 위 코드의 (*) 부분에서 인자 a를 변경하고 있지 않기 때문에 add이 순수함수라고 하셨는데, (*)에서 a를 변경하지만 이후 add 함수가 호출되는 상황에서는 변경되지 않는다는 것이 보장되어도 순수하지 않을걸까요?? 가령 다음과 같은 경우에 순수함수를 리턴한다고 보기 어려운 것인지 궁금합니다. ```js const addMakerInMod3 = (a) => { a %= 3; return (b) => { // ....add return a + b; } } ``` <질문2> 모듈 코드 상에 변수를 선언하고 함수 안에서 이를 참조해도 이 변수를 변경하지 않는다는게 보장되면 순수함수라고 부를 수 있을까요? ```js // module.js const a = 10; const add10 = (b) => a +b; ```