Skip to Content
러닝 자바스크립트: ES6로 제대로 입문하는 모던 자바스크립트 웹 개발
book

러닝 자바스크립트: ES6로 제대로 입문하는 모던 자바스크립트 웹 개발

by 한선용, 이선 브라운
July 2017
Beginner to intermediate
464 pages
10h 38m
Korean
Hanbit Media, Inc.
Content preview from 러닝 자바스크립트: ES6로 제대로 입문하는 모던 자바스크립트 웹 개발
277
13
함수와 추상적 사고
이제
getRainbowIterator
는 순수한 함수입니다. 이 함수는 항상 같은 것(이터레이터 )을 반환
하며 외부에 아무 영향도 주지 않습니다. 사용법이 바뀌긴 했지만, 훨씬 안전합니다.
const
rainbowIterator
=
getRainbowIterator
();
setInterval
(
function
() {
document
.
querySelector
('.
rainbow
')
.
style
['
background
-
color
'] =
rainbowIterator
.
next
().
value
;
},
500
);
결국
next
()
메서드는 매번 다른 값을 반환할 테니, 문제를 뒤로 미뤘을 뿐 아니냐고 생각할 수
도 있습니다. 틀린 말은 아니지만,
next
()
는 함수가 아니라 메서드라는 점에 주목할 필요가 있
습니다. 메서드는 자신이 속한 객체라는 컨텍스트 안에서 동작하므로 메서드의 동작은 그 객체
에 의해 좌우됩니다. 프로그램의 다른 부분에서
getRainbowIterator
를 호출하더라도 독립적
인 이터레이터가 생성되므로 다른 이터레이터를 간섭하지 않습니다.
13.4
그래서?
이제 함수의 세 가지 측면, 즉 서브루틴, 값을 반환하는 서브루틴, 순수한 함수라는 측면을 살
펴봤으니 잠시 멈추고, 이렇게 구분하는 것에 어떤 의미가 있는지 생각해 봐야 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

웹 애플리케이션 보안: 정찰, 공격, 방어 세 단계로 배우는 웹 애플리케이션 보안의 모든 것

웹 애플리케이션 보안: 정찰, 공격, 방어 세 단계로 배우는 웹 애플리케이션 보안의 모든 것

최용, 앤드루 호프먼

Publisher Resources

ISBN: 9788968483387