From ad47d9ebc1b1552917df86a1391aaa6144d21862 Mon Sep 17 00:00:00 2001 From: Jongha Kim Date: Fri, 28 May 2021 18:50:20 +0900 Subject: Update Javascript "SyntaxError" document (#945) * Update SyntaxError * Update files/ko/web/javascript/reference/global_objects/syntaxerror/index.html Co-authored-by: Sungwoo Park --- .../global_objects/syntaxerror/index.html | 153 ++++++++++----------- 1 file changed, 70 insertions(+), 83 deletions(-) diff --git a/files/ko/web/javascript/reference/global_objects/syntaxerror/index.html b/files/ko/web/javascript/reference/global_objects/syntaxerror/index.html index 84ccc26908..73badf1974 100644 --- a/files/ko/web/javascript/reference/global_objects/syntaxerror/index.html +++ b/files/ko/web/javascript/reference/global_objects/syntaxerror/index.html @@ -1,123 +1,110 @@ --- title: SyntaxError slug: Web/JavaScript/Reference/Global_Objects/SyntaxError +tags: + - Class + - JavaScript + - Object + - Reference + - SyntaxError translation_of: Web/JavaScript/Reference/Global_Objects/SyntaxError +browser-compat: javascript.builtins.SyntaxError --- -
{{JSRef}}
- -

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

- -

설명

- -

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

-

구문

+
{{JSRef}}
-
new SyntaxError([message[, fileName[, lineNumber]]])
+

+ SyntaxError 객체는 문법적으로 유효하지 않은 코드를 해석하려고 시도할 때 발생하는 오류를 + 의미합니다. Javascript 엔진이 코드를 구문 분석할 때 언어의 구문에 맞지 않는 + 토큰이나 토큰 순서를 만나면 이 오류를 던집니다. +

-

매개변수

+

생성자

-
message {{optional_inline}}
-
오류에 대한 설명.
-
fileName {{optional_inline}} {{non-standard_inline}}
-
예외가 발생한 코드를 담고 있는 파일의 이름.
-
lineNumber {{optional_inline}} {{non-standard_inline}}
-
예외가 발생한 코드의 라인 넘버.
+
{{jsxref("Global_Objects/SyntaxError/SyntaxError", "SyntaxError()")}}
+
새로운 SyntaxError 객체를 만듭니다.
-

속성

+

인스턴스 속성

-
{{jsxref("SyntaxError.prototype")}}
-
SyntaxError 객체에 속성을 추가할 수 있도록 해주고 있습니다.
+
+ {{jsxref("Error.prototype.message", "SyntaxError.prototype.message")}} +
+
+ 오류 메시지. 비록 ECMA-262에서 {{jsxref("SyntaxError")}}는 반드시 자체 + message 속성을 제공해야한다고 명시했지만, + SpiderMonkey는 + {{jsxref("Error.prototype.message")}}를 상속합니다. +
+
{{jsxref("Error.prototype.name", "SyntaxError.prototype.name")}}
+
오류 이름. {{jsxref("Error")}}로부터 상속되었습니다.
+
+ {{jsxref("Error.prototype.fileName", "SyntaxError.prototype.fileName")}} +
+
이 오류가 발생한 파일 경로. {{jsxref("Error")}}로부터 상속되었습니다.
+
+ {{jsxref("Error.prototype.lineNumber", "SyntaxError.prototype.lineNumber")}} +
+
+ 이 오류가 발생한 파일의 줄 수. {{jsxref("Error")}}로부터 상속되었습니다. +
+
+ {{jsxref("Error.prototype.columnNumber","SyntaxError.prototype.columnNumber")}} +
+
+ 이 오류가 발생한 줄(행)에서의 열 위치. {{jsxref("Error")}}로부터 상속되었습니다. +
+
{{jsxref("Error.prototype.stack", "SyntaxError.prototype.stack")}}
+
스택 트레이스. {{jsxref("Error")}}로부터 상속되었습니다.
-

메서드

- -

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

- -

SyntaxError 인스턴스

- -

속성

- -
{{page('en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype', 'Properties')}}
- -

메소드

- -
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype', 'Methods')}}
-

예제

SyntaxError 잡기

-
try {
+
+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"
+  console.error(e instanceof SyntaxError);
+  console.error(e.message);
+  console.error(e.name);
+  console.error(e.fileName);
+  console.error(e.lineNumber);
+  console.error(e.columnNumber);
+  console.error(e.stack);
 }
 

SyntaxError 생성하기

-
try {
+
+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"
+  console.error(e instanceof SyntaxError); // true
+  console.error(e.message);                // Hello
+  console.error(e.name);                   // SyntaxError
+  console.error(e.fileName);               // someFile.js
+  console.error(e.lineNumber);             // 10
+  console.error(e.columnNumber);           // 0
+  console.error(e.stack);                  // @debugger eval code:3:9
 }
 
-

명세

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('ES3')}}{{Spec2('ES3')}}초기 정의.
{{SpecName('ES5.1', '#sec-15.11.6.4', 'SyntaxError')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}}{{Spec2('ESDraft')}} 
+

명세

+ +{{Specifications}}

브라우저 호환성

-

{{Compat("javascript.builtins.SyntaxError")}}

+

{{Compat}}

같이 보기

    -
  • {{jsxref("Error")}}
  • -
  • {{jsxref("SyntaxError.prototype")}}
  • +
  • {{jsxref("Error")}}
-- cgit v1.2.3-54-g00ecf