존재하지 않는 변수를 참조하려 할 때 발생합니다[3][8].
예시:
console.log(undefinedVariable); // ReferenceError
변수나 매개변수가 예상된 타입이 아닐 때 발생합니다[7][8].
예시:
let num = 5;
num.toUpperCase(); // TypeError
코드의 구문이 자바스크립트 언어 규격을 따르지 않을 때 발생합니다[1][8].
예시:
function sammy(animal) {
if(animal == 'shark'){
return `I'm cool`;
} else {
return `You're cool`;
// 닫는 중괄호 누락
숫자 변수나 매개변수가 유효한 범위를 벗어났을 때 발생합니다[5][6].
예시:
const arr = new Array(-1); // RangeError
encodeURI() 또는 decodeURI() 함수에 부적절한 매개변수를 전달했을 때 발생합니다[5][6].
예시:
decodeURI('%'); // URIError
eval() 함수와 관련된 에러입니다. 현재는 거의 사용되지 않습니다[5][6].
자바스크립트 엔진 내부에서 발생하는 에러로, 주로 너무 많은 재귀 호출 등으로 인해 발생합니다[5].
이러한 에러들을 이해하고 적절히 처리하는 것이 안정적인 자바스크립트 프로그램을 작성하는 데 중요합니다[1][4]. 에러 처리를 통해 프로그램의 예상치 못한 종료를 방지하고 사용자에게 더 나은 경험을 제공할 수 있습니다.
Citations:
[1] https://goodsgoods.tistory.com/451
[2] https://www.scaler.com/topics/types-of-errors-in-javascript/
[3] https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError/ReferenceError
[4] https://stackoverflow.com/questions/12589391/difference-typeerror-and-referenceerror
[5] https://www.educative.io/answers/what-are-the-6-types-of-errors-in-javascript-codes
[6] https://velog.io/@rlatjdgh9612/Javascript-Error-%EC%A2%85%EB%A5%98
[7] https://www.changjune.com/2024/01/js-error
[8] https://www.digitalocean.com/community/tutorials/how-to-troubleshoot-referenceerror-syntaxerror-and-typeerror-in-javascript
[9] https://www.geeksforgeeks.org/difference-between-type-error-and-reference-error-in-javascript/
[10] https://www.w3schools.com/jsref/jsref_obj_error.asp