주변 지뢰 개수가 0개일 때 호출하는 open() 함수를 openAround() 함수로 바꿔서 openAround() 함수는 재귀 함수가 되었습니다. 이렇게 하면 주변 칸뿐만 아니라 주변 칸의 주변 칸도 열릴 것 같지만, 실행해 보면 Maximum call stack size exceeded 에러가 발생합니다. 웹 브라우저에서 F12를 눌러 콘솔에서 확인해 보세요.
그림 14-8 재귀 함수 사용 시 에러 발생
Maximum call stack size exceeded 에러를 해결하기 위해 비동기 함수인 setTimeout()으로 호출 부분을 감싸 줍니다. 시간은 0초로 설정해서 즉시 호출되게 합니다.