• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

순수함수에 대해서 질문있습니다.

21.12.07 11:12 작성 조회수 285

0

안녕하세요 유인동님! 순수함수 관련 질문이 있습니다.

<질문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;

```

답변 1

답변을 작성해보세요.

0

네 이해하신게 맞습니다 :)