🖥️
Maximum call stack size exceeded 에러
November 29, 2022
Maximum call stack size exceeded
JavaScript RangeError: Maximum Call Stack Size Exceeded
오늘도 순조로운 화면달 개발 도중 click event 에서 아래와 같은 에러가 발생했다.
Uncaught RangeError: Maximum call stack size exceeded
-
exceed : 초과하다, 초월하다, 넘어서다
-
exceeded : 초과 (과거형)
최대 콜백 구조 사이즈가 초과 됐다
라는데 이런 비슷한 오류를 몇 번 본적이 있었지만 생각이 나지 않아 구글링을 진행했다.
첫번째!!
잘못된 콜백이나 event 로 인해 계속 무한대의 이벤트가 발생할때 해당 에러가 발생!
두번째!!
function 이 너무 많은 호출이 일어날때 해당 에러가 발생!!!
예를 들어
//someButton click event
document.getElementById("someButton").addEventListener('click', hereMyClickEvent);
//예시 함수
let hereMyClickEvent = (() => {
let thisValue = $("input[name='anchor']").val();
if (thisValue) {
anotherFunction();
} else {
$("#someButton").click();
}
});이런식으로 id값이 someButton 이라는 버튼을intellij. 클릭했을때,
thisValue가
-
true 이면 다음 anotherFunction() 으로 감. (문제 없음)
-
false 이면 someButtoun 을 다시 클릭. (문제 발생)
이렇게 되면 false 일때 계쏙해서 hereMyClickEvent 함수가 동작하게 되어
Maximum call stack size exceeded
에러가 발생하게 된다.
약간 조금만 생각없이? 급하게 코딩하다보면 생기는 이슈인것 같다.
그럼 오늘도 화이팅!
참고 [https://rollbar.com/blog/javascript-rangeerror-maximum-call-stack-size-exceeded/]