이 번역은 완료되지 않았습니다. 이 문서를 번역해 주세요.

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

설명

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

구문

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

매개변수

message Optional
오류에 대한 설명.
fileName Optional
예외가 발생한 코드를 담고 있는 파일의 이름.
lineNumber Optional
예외가 발생한 코드의 라인 넘버.

속성

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 Latest Draft (ECMA-262)
The definition of 'SyntaxError' in that specification.
Draft  

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

같이 보기

문서 태그 및 공헌자

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