SyntaxError

현재 번역은 완벽하지 않습니다. 한국어로 문서 번역에 동참해주세요.

SyntaxError 객체는 문법적으로 유효하지 않은 코드를 해석하려고 시도할 때 에러를 표현합니다. 

설명

SyntaxError는 JavaScript 엔진이 코드를 분석할 때 문법을 준수하지 않은 코드를 만나면 던져집니다. 

구문

new SyntaxError([message[, fileName[, lineNumber]]])

매개변수

message
선택적 파라메터. 에러에 대한 설명.
fileName
선택적 파라메터. 예외(exception)가 발생한 코드를 담고 있는 파일의 이름.
lineNumber
선택적 파라메터. 예외(exception)가 발생한 코드의 라인 넘버.

속성

SyntaxError.prototype
SyntaxError 객체에 속성을 추가할 수 있도록 해주고 있습니다.

메소드

전역(global) SyntaxError 는 고유의 메소드를 가지고 있지 않지만, prototype chain을 통해 몇몇의 메소드를 상속 받습니다.

SyntaxError 인스턴스

속성

SyntaxError.prototype.constructor
Specifies the function that created an instance's prototype.
SyntaxError.prototype.message
Error message. Although ECMA-262 specifies that SyntaxError should provide its own message property, in SpiderMonkey, it inherits Error.prototype.message.
SyntaxError.prototype.name
Error name. Inherited from Error.
SyntaxError.prototype.fileName
Path to file that raised this error. Inherited from Error.
SyntaxError.prototype.lineNumber
Line number in file that raised this error. Inherited from Error.
SyntaxError.prototype.columnNumber
Column number in line that raised this error. Inherited from Error.
SyntaxError.prototype.stack
Stack trace. Inherited from Error.

메소드

Although the SyntaxError prototype object does not contain any methods of its own, SyntaxError instances do inherit some methods through the prototype chain.

SyntaxError 잡기

try {
  eval('hoo bar');
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "missing ; before statement"
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "Scratchpad/1"
  console.log(e.lineNumber);             // 1
  console.log(e.columnNumber);           // 4
  console.log(e.stack);                  // "@Scratchpad/1:2:3\n"
}

SyntaxError 생성하기

try {
  throw new SyntaxError('Hello', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "Hello"
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "someFile.js"
  console.log(e.lineNumber);             // 10
  console.log(e.columnNumber);           // 0
  console.log(e.stack);                  // "@Scratchpad/2:11:9\n"
}

스펙

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262) Standard 초기 정의.
ECMAScript 5.1 (ECMA-262)
The definition of 'SyntaxError' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'SyntaxError' in that specification.
Standard  
ECMAScript 2017 Draft (ECMA-262)
The definition of 'SyntaxError' in that specification.
Draft  

브라우저 호환성

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

참조

문서 태그 및 공헌자

 이 페이지의 공헌자: magnoliaa
 최종 변경: magnoliaa,