TypeError
TypeError
TypeError 객체는 일반적으로(그러나 배타적으로는 아님) 값이 기대한 타입이 아닐 때 연산을 수행할 수 없음을 나타내는 오류입니다. Error의 하위 클래스입니다.
본문
TypeError 객체는 연산을 수행할 수 없을 때의 오류를 나타내며, 보통 값이 기대한 타입이 아닐 때 발생합니다. TypeError는 다음 경우에 던져질 수 있습니다.
- 함수에 전달된 피연산자나 인자가 해당 연산자나 함수가 기대하는 타입과 호환되지 않을 때
- 변경할 수 없는 값을 수정하려 할 때
- 값을 부적절한 방식으로 사용하려 할 때
TypeError는 직렬화 가능한 객체이므로 structuredClone()으로 복제하거나 postMessage()로 Worker 사이에서 복사할 수 있습니다. TypeError는 Error의 하위 클래스입니다.
생성자
TypeError()— 새TypeError객체를 만듭니다.
인스턴스 속성
부모 Error의 인스턴스 속성도 상속합니다. TypeError.prototype에 정의되어 모든 인스턴스가 공유하는 속성: constructor, name(오류 타입의 이름, 초기 값은 "TypeError").
인스턴스 메서드
부모 Error의 인스턴스 메서드를 상속합니다.
예제
TypeError 잡기 — 아래 코드는 null.f() 호출이 TypeError를 던지는 것을 보여줍니다.
try {
null.f();
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "null has no properties"
console.log(e.name); // "TypeError"
console.log(e.stack); // Stack of the error
}
TypeError 만들기 — new TypeError("Hello")로 직접 TypeError를 만들어 던질 수 있습니다.
try {
throw new TypeError("Hello");
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "TypeError"
console.log(e.stack); // Stack of the error
}
더 알아보기
Error— 모든 오류 타입의 기본 클래스RangeError,ReferenceError,SyntaxError,URIError,EvalError— 기타 내장 오류 타입