티스토리 뷰
안녕하세요! Uncaught Reference Error는 변수가 정의되지 않았을 경우에 나타나는 에러입니다.
코드에서 확인해볼 부분을 알려드릴게요!
1. 변수를 제대로 정의한게 맞는지 확인하기
2. 변수 선언을 함수, 조건문, 반복문과 같이 중괄호 안에 넣었는지
3. 지정된 배열의 크기를 넘어선 부분을 불러왔는지
1. 변수를 제대로 정의한게 맞는지 확인하기
에러 메세지에서 변수가 정의되어있지 않다고 나와있으니 당연히 가르키는 변수가 제대로 정의된건지 확인해야해요. 일단 이름부터 다시 확인해보세요! const arr=1; 로 정의해놓은거를 arr이 아니라 다른 이름으로 불러왔을 수 있습니다. 예를 들어서 arr이 아니라 ar 로 불러오는 오타가 발생했을 수 있어요. 아니면 개발하다가 변수 명이 바뀌었는데 그걸 깜빡하고 안바꿨을 수 있습니다.
중요한건 내가 사용할 변수 명이 선언된 곳을 확인하고 불러올 변수와 선언한 변수가 일치한지 확인하는 것입니다.
2. 변수 선언을 함수, 조건문, 반복문과 같이 중괄호 안에 넣었는지
이건 스코프의 문제입니다. 각 변수 선언은 블록스코프와 함수스코프가 있어요. 자세한 내용은 밑의 포스팅을 참고해주세요. 핵심은 스코프 즉, 범위 안에서 선언한 변수는 스코프밖에서 변수를 불러올 수 없다는 것입니다.
한마디로 만약에 const, let으로 조건문이나 반복문, 함수와 같이 {} 중괄호로 이루어져있는 블록 안에서 선언했다면, 그 밖에서는 해당 변수를 사용할 수 없습니다.
해결방법은 함수 스코프를 사용하는 변수 var로 변경해주시면 됩니다.
https://hasumang.tistory.com/32
3. 지정된 배열의 크기를 넘어선 부분을 불러왔는지
배열의 크기를 5로 지정했는데 인덱스가 6인 부분을 불러오면 안되겠죠? 예를 들어서 const arr=[1,2,3,4,5]; 로 선언했는데, arr[10]에 접근하려하면 당연히 선언하지 않았으니 없다고 뜰 것입니다. 배열뿐만 아니라 다른 데이터 형태도 마찬가지예요. 혹시 반복문으로 범위를 초과하는 부분을 불러오진 않았는지 확인해보세요!
감사합니다!
'👩🏻💻개발공부' 카테고리의 다른 글
다계층 신경망 C 언어로 만들어보기! (4) | 2024.10.05 |
---|---|
해커톤에 참여하기전, 백엔드 개발자라면 필수로 알아야하는 툴 6가지 정리! (0) | 2023.06.22 |
GitHub PR 충돌 간편하게 해결하기 (Github Desktop) (0) | 2023.06.22 |
AI EXPO 2023 국제인공지능대전 후기 (0) | 2023.05.15 |
웹 개발 POST Error (ENOTFOUND) (0) | 2023.02.01 |
- Total
- Today
- Yesterday
- 해커톤
- 운영체제
- 백엔드 개발
- 혼공단 SQL
- Signal
- Linux
- 혼공단 9기
- AWS
- googleapis
- Process
- JS
- 스페인 교환학생
- 프로젝트
- SQL
- 스페인
- 혼공
- 공룡책
- 교환학생
- 개발일지
- 깃 예제
- 리눅스
- 자바스크립트
- 개발
- nodejs
- MySQL
- JavaScript
- 백준
- C++
- 혼공학습단
- 혼공단
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |