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

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

by 한선용, 이선 브라운
July 2017
Beginner to intermediate
464 pages
10h 38m
Korean
Hanbit Media, Inc.
Content preview from 러닝 자바스크립트: ES6로 제대로 입문하는 모던 자바스크립트 웹 개발
289
13
함수와 추상적 사고
재귀 함수에는
종료 조건
이 있어야 합니다. 종료 조건이 없다면 자바스크립트 인터프리터에서
스택이 너무 깊다고 판단할 때까지 재귀 호출을 계속하다가 프로그램이 멈춥니다.
findNeedle
함수에는 두 가지 종료 조건이 있습니다. 바늘을 찾거나, 배열이 비어 있으면 재귀 호출을 멈춥
니다. 호출할 때마다 배열의 길이가 줄어들므로 언젠가는 두 조건 중 하나를 만족하게 됩니다.
이번에는 좀 더 유용하고, 여러 번 검증된 예제를 살펴봅시다. 숫자의 계승
factorial
을 찾는 예제입
니다. 숫자의 계승은
1
부터 그 숫자까지를 전부 곱한 값이며 숫자 뒤에 느낌표를 붙여서 표시
합니다. 즉
4
!
4
×
3
×
2
×
1
=
24
입니다. 계승을 구하는 재귀 함수는 다음과 같이 만들
수 있습니다.
function
fact
(
n
) {
if
(
n
===
1
)
return
1
;
return
n
*
fact
(
n
-
1
);
}
이 함수의 종료 조건은
n
===
1
이고, 재귀 호출할 때마다 숫자
n
1
씩 줄어들다가 결국
1
됩니다. 이 함수에
0
이나 음수를 넘겨서 호출하면 물론 에러가 생기지만, 그런 상황을 막을 조
건문을 넣는 건 쉽습니다.
13.8
요약
ML
이나 하스켈, 클로저
Clojure
,
F
# 같은 다른 함수형 언어를 사용해봤다면 이 장은 아주 쉬웠을 ...
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.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

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

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

최용, 앤드루 호프먼

Publisher Resources

ISBN: 9788968483387