SyntaxError
SyntaxError
SyntaxError 객체는 문법적으로 유효하지 않은 코드를 해석하려 할 때의 오류를 나타냅니다. JavaScript 엔진이 코드를 파싱할 때 언어의 문법과 맞지 않는 토큰이나 토큰 순서를 만나면 던져집니다.
본문
SyntaxError 객체는 문법적으로 유효하지 않은 코드를 해석하려 할 때의 오류를 나타냅니다. JavaScript 엔진이 코드를 파싱할 때 언어 문법에 부합하지 않는 토큰이나 토큰 순서를 만나면 던져집니다. SyntaxError는 직렬화 가능한 객체이므로 structuredClone()으로 복제하거나 postMessage()로 Worker 사이에서 복사할 수 있습니다. SyntaxError는 Error의 하위 클래스입니다.
생성자
SyntaxError()— 새SyntaxError객체를 만듭니다.
인스턴스 속성
부모 Error의 인스턴스 속성도 상속합니다. SyntaxError.prototype에 정의되어 모든 인스턴스가 공유하는 속성: constructor, name(오류 타입의 이름, 초기 값은 "SyntaxError").
인스턴스 메서드
부모 Error의 인스턴스 메서드를 상속합니다.
예제
SyntaxError 잡기 — 아래 코드는 eval()로 유효하지 않은 문법을 해석할 때 SyntaxError가 던져지는 것을 보여줍니다.
try {
eval("hoo bar");
} catch (e) {
console.log(e instanceof SyntaxError); // true
console.log(e.message);
console.log(e.name); // "SyntaxError"
console.log(e.stack); // Stack of the error
}
SyntaxError 만들기 — new SyntaxError("Hello")로 직접 만들어 던질 수 있습니다.
try {
throw new SyntaxError("Hello");
} catch (e) {
console.log(e instanceof SyntaxError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "SyntaxError"
console.log(e.stack); // Stack of the error
}
더 알아보기
Error— 모든 오류 타입의 기본 클래스eval()— 문자열을 코드로 평가하는 전역 함수TypeError,RangeError,ReferenceError,URIError,EvalError— 기타 내장 오류 타입