SyntaxError
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
SyntaxError
객체는 문법적으로 잘못된 코드를 해석하려고 시도할 때 발생하는 오류를 나타냅니다.
JavaScript 엔진이 코드를 구문 분석할 때 언어의 구문에 맞지 않는 토큰이나 토큰 순서를 만나면 이 에러를 발생시킵니다.
SyntaxError
는 직렬화 가능한 객체이므로 structuredClone()
으로 복제하거나 postMessage()
를 사용하여 Worker 간에 복사할 수 있습니다.
SyntaxError
는 Error
의 하위 클래스입니다.
생성자
SyntaxError()
-
새로운
SyntaxError
객체를 만듭니다.
인스턴스 속성
또한 부모 Error
에서 인스턴스 속성을 상속합니다.
아래 속성은 SyntaxError.prototype
에서 정의되었고, 모든 SyntaxError
인스턴스애서 공유됩니다.
SyntaxError.prototype.constructor
-
인스턴스 객체를 생성하는 생성자 함수입니다.
SyntaxError
인스턴스의 경우 초기 값은SyntaxError
생성자입니다. SyntaxError.prototype.name
-
오류 유형의 이름을 나타냅니다.
SyntaxError.prototype.name
의 경우 초기 값은"SyntaxError"
입니다.
인스턴스 메서드
부모 Error
에서 인스턴스 메서드를 상속합니다.
예제
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); // 오류 스택
}
SyntaxError 생성하기
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); // 오류 스택
}
명세서
Specification |
---|
ECMAScript Language Specification # sec-native-error-types-used-in-this-standard-syntaxerror |
브라우저 호환성
BCD tables only load in the browser