JavaScript에서 발생하는 주요 오류 유형 이해
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
JavaScript 초보 개발자, 오류 디버깅을 배우는 프론트엔드/백엔드 개발자
난이도: 기초 수준 (코드 예시 기반 설명)
핵심 요약
- 문법 오류(Synta Error):
console.log('hello world
와 같이 괄호 누락 시 발생. - 참조 오류(Reference Error):
console.log(a);
처럼 선언되지 않은 변수를 참조할 때 발생. - 타입 오류(Type Error):
obj()
처럼 비함수를 호출하거나const x = 5; x = 10;
처럼 상수 재할당 시 발생.
섹션별 세부 요약
1. **문법 오류(Synta Error)**
- 코드의 문법 규칙 위반 시 발생 (예: 괄호, 세미콜론 누락).
- JavaScript 엔진이 코드를 파싱할 수 없음.
- 예시:
console.log('hello world'
(닫는 괄호 누락).
2. **참조 오류(Reference Error)**
- 선언되지 않은 변수 또는 함수를 참조 시 발생.
- 예시:
console.log(a);
(변수a
가 선언되지 않음). - 변수 선언 전 사용 시 발생 (예:
let a = 5; console.log(a);
는 정상,console.log(a); let a = 5;
는 오류).
3. **타입 오류(Type Error)**
- 비함수 호출:
const obj = {}; obj();
(비함수를 호출 시TypeError: obj is not a function
). - undefined/null의 속성 접근:
let myVar; console.log(myVar.name);
(undefined의name
속성 접근 시TypeError
). - 상수 재할당:
const x = 5; x = 10;
(상수 재할당 시TypeError: Assignment to constant variable
).
결론
- 핵심 팁:
try...catch
로 오류를 포착하고, 변수 선언 시let
/const
사용, 함수 호출 전 타입 검증을 통해 오류를 사전에 방지. - 실무 적용: 개발 도구(예: VS Code)의 실시간 오류 검출 기능 활용, 단위 테스트로 예외 처리 검증.