inflearn logo
강의

Course

Instructor

[Renewal] ZeroCho's Introduction to JavaScript: Coding Self-Study

Enter the number of lines, squares, and mines

열리지 않은 칸을 엄청 빨리 클릭해서 열 때 Uncaught TypeError

248

WS IM

9 asked

0

제가 혹시 실수한 것이 있나 싶어서

제로초님 깃허브에 올라와 있는 코드도 그대로 복붙해서 실행해봤는데 마찬가지로 빈 칸을 빠르게 클릭할 때 이런 에러가 발생합니다.

```

Uncaught TypeError: Cannot read property 'undefined' of undefined at HTMLTableSectionElement.onLeftClick

```

이런 버그는 어떻게 해결 하면 좋을까요?

다시 확인해보니, 이미 열린 칸 위에서도 빠르게 클릭하면 같은 에러가 발생하는데, 에러 원인이 뭔지 파악하기가 어렵습니다.

에러 발생 코드 위치는 여기에요.

const cellData = data[rowIndex][cellIndex];

버그 javascript 디버깅 자바스크립트

Answer 1

1

zerocho

if (rowIndex > -1 && cellIndex > -1) { } 같은 것으로 감싸면 undefined가 나올 수가 없으므로 해결됩니다.

0

WS IM

빠른 답변 감사합니다!

하나 더 질문 드리고 싶습니다!

엄청 빠른 속도로 맵을 클릭한다 하더라도 저는 분명히 게입맵의 인덱스 범위 안에서만 클릭을 했는데 undefined가 나오는 이유가 무엇인지 알 수 있을까요? onLeftClick(event) 함수에서 콘솔에 event.target을 찍어보니까 에러가 안 날 때는 td가 출력되고, 위 질문에 있는 에러가 발생할 때는 tr이나 tbody가 출력되네요!

0

zerocho

경계선을 클릭하신 것 같습니다.

0

WS IM

그렇군요! ㅎㅎ 하나 더 배워갑니다!

강의에서 나온 "?." 옵셔널체이닝을 const cellData = data[rowIndex][cellIndex]; 여기에도 적용해서 data[rowIndex]?.[cellIndex]처럼 써봤는데 위와 같은 에러는 안 뜨는 것 같습니다. 알려주신 방법 외에 이것도 해결 방법이 될 수 있는 거죠?

0

zerocho

네 다만 cellData가 undefined라서 다음에 또 비슷한 에러가 날 수 있습니다.

자바스크립트 입문 강의 재생 안됨

0

75

2

쿵쿵따 조건문 질문입니다.

0

71

2

렛츠가릿 자바스트립트와 공유가 되나요

0

76

1

수강을 하기 전 공부순서에 관한 질문이 있습니다.

1

99

2

안녕하세요

0

100

2

1~45 필터링하는 코드에서 find대신 some써주는게 나을거같습니다.

1

76

2

고차 함수 작성법과 수업 진도 관련한 질문

0

80

3

break와 continue 9:55 내 continue 구문 질문

0

152

2

옵셔널 체이닝 적당한 깊이는 어느 정도인가요?

0

121

2

로또 추첨기 중 입력값을 검사할 때

0

135

2

2-14.else,else if,switch 관련 질문입니다.

0

107

2

가위바위보 이미지(rsp.png)가 안보여요

0

261

3

Math.random() 에 9을 곱하는 이유

0

172

4

클로저 관련해서 질문있습니다.

1

186

2

유튜브 댓글 보고 왔습니다!- 퀴즈 중복된 숫자 검사 for 문

0

245

1

event.target.textContent관련 질문

0

273

2

객체 참조 관련 질문

0

179

1

-2+ -2 = -4 음수 더하기 음수 - 셀프체크 계산기

0

463

1

별찍기 마름모 문제입니다.

0

348

2

숙제 질문

0

216

1

5강 async/await으로 가독성 높이기에서

0

226

1

야구게임 관련 질문입니다

0

182

1

쿵쿵따, 계산기에서 변수 선언

0

176

1

지뢰 힌트 사라짐(대괄호)

0

163

1