• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

"`효과를 each`로 구분한다"

19.05.22 12:07 작성 조회수 182

1

01:00 ~ 01:30 사이의 설명: "함수를 실행했는데 전달한 인자와 같은 값이 입력과 출력값이 같다는 것은, 함수를 실행하지 않은 것과 같기 때문에 효과를 일으킨다는게 명확하다" 

입/출력에 변화가 없는 함수실행도 side effect 라는 설명인건가요? 

답변 6

·

답변을 작성해보세요.

1

결론적으로 말하면 부정적인 상황을 말할때는 사이드 이펙트 혹은 부수효과라고 말하는 편이고,

그냥 정말 일으켜야하는 효과를 말할때 혹은 잘 관리되고 있는 효과를 말할때는 좀 긍정적으로 말하고 있는 느낌이라고 보시면 될거 같아요.

1

말 그대로 효과는 이펙트를 말합니다.

사이드 이펙트라고 말하는게 좀 부정적인 느낌이 있잖아요?

그래서 좀 순화해서 그냥 이펙트라고 말하는 분들도 많더라고요.

저도 그냥 그래서 효과라고 부르기도 하는 정도에요 :)

1

A.J님의 프로필

A.J

질문자

2019.05.22

each()를 사용함에 따른 문맥적 의미를 말씀하신대로 이해했습니다. 그러나 여전히 구분이 필요한 게 있는데, 

말씀하시는 "효과"는 side effect 가 아닌 다른 '단어'를 의미하나요? 

- 효과를 일으키다, 

- 효과가 있다

등등이 먼저 어떤 의미인지 알고싶습니다 

1

그런 의미는 아니구요.

A라는 함수가 인자와 리턴값이 같은 경우, 그 함수를 실행했을 때 반드시 내부에서 효과가 있는 함수일 수 밖에 없다는 의미입니다. 

어떤 값을 넣든 항상 인자와 완전히 동일한 값이 리턴되는 함수라는건 그 안에서 뭔가 어딘가에 효과를 일으키지 않고는 의미 없는 함수이기 때문에,

tap이나 each 같은 함수안에 사용하는 보조함수는 효과를 일으킬 수 밖에 없고, 

그렇기에 each로 감싸져있으면 "아 여기에 효과가 있겠구나"

라고 생각할 수 있도록 구분하기위해 사용된다는 의미입니다.

감사합니다.

0

감사합니다 :)

0

A.J님의 프로필

A.J

질문자

2019.05.23

고맙습니다. 만족스런 답변이네요.