-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
열리지 않은 칸을 엄청 빨리 클릭해서 열 때 Uncaught TypeError
21.07.27 16:45 작성 조회수 132
0
제가 혹시 실수한 것이 있나 싶어서
제로초님 깃허브에 올라와 있는 코드도 그대로 복붙해서 실행해봤는데 마찬가지로 빈 칸을 빠르게 클릭할 때 이런 에러가 발생합니다.
```
Uncaught TypeError: Cannot read property 'undefined' of undefined at HTMLTableSectionElement.onLeftClick
```
이런 버그는 어떻게 해결 하면 좋을까요?
다시 확인해보니, 이미 열린 칸 위에서도 빠르게 클릭하면 같은 에러가 발생하는데, 에러 원인이 뭔지 파악하기가 어렵습니다.
에러 발생 코드 위치는 여기에요.
const cellData = data[rowIndex][cellIndex];
답변을 작성해보세요.
1
조현영
지식공유자2021.07.27
if (rowIndex > -1 && cellIndex > -1) { } 같은 것으로 감싸면 undefined가 나올 수가 없으므로 해결됩니다.
WS IM
질문자2021.07.27
빠른 답변 감사합니다!
하나 더 질문 드리고 싶습니다!
엄청 빠른 속도로 맵을 클릭한다 하더라도 저는 분명히 게입맵의 인덱스 범위 안에서만 클릭을 했는데 undefined가 나오는 이유가 무엇인지 알 수 있을까요? onLeftClick(event) 함수에서 콘솔에 event.target을 찍어보니까 에러가 안 날 때는 td가 출력되고, 위 질문에 있는 에러가 발생할 때는 tr이나 tbody가 출력되네요!
WS IM
질문자2021.07.27
그렇군요! ㅎㅎ 하나 더 배워갑니다!
강의에서 나온 "?." 옵셔널체이닝을 const cellData = data[rowIndex][cellIndex]; 여기에도 적용해서 data[rowIndex]?.[cellIndex]처럼 써봤는데 위와 같은 에러는 안 뜨는 것 같습니다. 알려주신 방법 외에 이것도 해결 방법이 될 수 있는 거죠?
답변 1