더북(TheBook)

주변 지뢰 개수가 0개일 때 호출하는 open() 함수를 openAround() 함수로 바꿔서 openAround() 함수는 재귀 함수가 되었습니다. 이렇게 하면 주변 칸뿐만 아니라 주변 칸의 주변 칸도 열릴 것 같지만, 실행해 보면 Maximum call stack size exceeded 에러가 발생합니다. 웹 브라우저에서 F12를 눌러 콘솔에서 확인해 보세요.

그림 14-8 재귀 함수 사용 시 에러 발생

Maximum call stack size exceeded 에러를 해결하기 위해 비동기 함수인 setTimeout()으로 호출 부분을 감싸 줍니다. 시간은 0초로 설정해서 즉시 호출되게 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.