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 간에 복사할 수 있습니다.

SyntaxErrorError의 하위 클래스입니다.

생성자

SyntaxError()

새로운 SyntaxError 객체를 만듭니다.

인스턴스 속성

또한 부모 Error에서 인스턴스 속성을 상속합니다.

아래 속성은 SyntaxError.prototype에서 정의되었고, 모든 SyntaxError 인스턴스애서 공유됩니다.

SyntaxError.prototype.constructor

인스턴스 객체를 생성하는 생성자 함수입니다. SyntaxError 인스턴스의 경우 초기 값은 SyntaxError 생성자입니다.

SyntaxError.prototype.name

오류 유형의 이름을 나타냅니다. SyntaxError.prototype.name의 경우 초기 값은 "SyntaxError"입니다.

인스턴스 메서드

부모 Error에서 인스턴스 메서드를 상속합니다.

예제

SyntaxError 처리하기

js
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 생성하기

js
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

같이 보기