inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

함수형 프로그래밍과 JavaScript ES6+ 응용편

효과를 each로 구분

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

해결된 질문

349

A.J

작성한 질문수 1

1

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

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

javascript 함수형-프로그래밍

답변 6

1

MDU 유인동

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

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

1

MDU 유인동

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

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

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

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

1

A.J

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

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

- 효과를 일으키다, 

- 효과가 있다

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

1

MDU 유인동

그런 의미는 아니구요.

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

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

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

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

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

감사합니다.

0

MDU 유인동

감사합니다 :)

0

A.J

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

이미지 동시성 다루기

0

116

2

클로저와 같은 함수형 프로그래밍 공부

0

192

2

fx.js

0

440

2

fxjs 라이브러리 takeL 관련하여 질문드립니다.

0

344

2

[ 비동기 상황에서의 Lazy, Strict 기법이 혼합된 평가 ] 에 대한 이해

0

528

1

input값이 이터러블 함에도 range를 쓴 이유가 궁금합니다.

0

468

1

질문있습니다!

1

372

2

DB Insert관련

0

657

2

강의에 대한 제언

2

599

1

DOM 조작 관련 질문입니다.

0

408

1

L.map, L.filter

0

613

1

indexBy 함수에 대한질문입니다.

0

404

2

해당 강의를 듣고 나면

0

397

1

내용없음

0

236

1

함수 추출에 대한 고민

1

286

1

뷰 포트에 보이는 엘리먼트만 이미지 로드하고 싶을 때

1

327

1

기존에 반복문이 1개 돌던거를 이렇게하면 2번 도는데...

0

242

1

array in object... 는 어떤 식으로 재귀가 가능할까요..?

0

271

1

queryToObject 질문드립니다.

0

359

1

재귀는 어떻게 표현할 수 있을까요?

0

315

1

모든 명령형 => 함수형 가능한가요?

0

323

1

명령형 => 함수형 변환

0

341

2

이해한게 맞을까요?

0

216

1

iter의 개별 elements 에 data 를 삽입 또는 변형해서 삽입하는 경우엔 map 으로 제어를 하는게 맞을까요?

0

263

2