-
섹션 4. 자바스크립트에서의 지연 평가javascript/인동님 인프런강의 정리 2018. 8. 1. 02:53반응형
섹션 4. 자바스크립트에서의 지연평가 - 지연평가 부분 내용 정리 (https://www.inflearn.com/course-status-2/ )
다음의 value들이 있고 , 실행 해야하는 함수 들이 있고, 최종 결과를 얻는 함수 가 있다.
value : val1 , val2 , val3 , val4 , val5 , val6
실행해야하는 함수 : map , filter , map , reject
최종 결과 함수 : take(2)
원래의 엄격하게 평가 되는 방식
처음 map 에서 val1 에서 부터 val6 까지 다 평가 한다.
그 다음 filter 에서 또 val6 까지 다 평가 하면서 걸러낼 것 들만 걸러 낸다.
그 다음 map 에서 filter 에서 걸러낸 val 들을 다 평가 한다.
그 다음 reject 에서 마찬가지로 val들을 다 평가 하면서 걸러 낼 것만 걸러낸다.
최종 2개의 val만 남기고 종료 한다.
지연 평가 되는 방식
처음 map 에서 val1 평가 후 다음 함수인 filter 가 바로 평가 한다.
filter 함수에서 평가 결과가 false 이면 그 다음 val 을 처음 map 부터 다시 평가 하고,
filter 함수에서 평가 결과가 true 면 그 다음 map 에서 val을 평가 하고
그 다음 함수인 reject 함수가 실행하고 그 다음 최종 take 에 담게 된다.
이런식 으로 val을 평가 하다가 val3 에서 최종 결과 함수 take(2) 가 충족 이 되면 val4 를 평가 를 하지 않고 바로 종료 한다.
'javascript > 인동님 인프런강의 정리' 카테고리의 다른 글
섹션 3. 컬렉션 중심 프로그래밍 (거르기– reject, compact) (0) 2018.07.23 섹션 3. 컬렉션 중심 프로그래밍 (수집하기 – map, values, pluck) (0) 2018.07.21 섹션 2. 함수형으로 전환하기 (_filter 함수, _map 함수) (0) 2018.07.18 섹션1. 함수형 프로그래밍 개요 정리 (0) 2018.07.07 댓글