1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
---
title: 'SyntaxError: "x" is a reserved identifier'
slug: Web/JavaScript/Reference/Fehler/Reserved_identifier
tags:
- Error
- Errors
- JavaScript
- SyntaxError
translation_of: Web/JavaScript/Reference/Errors/Reserved_identifier
---
<div>{{jsSidebar("Errors")}}</div>
<h2 id="Fehlermeldung">Fehlermeldung</h2>
<pre class="syntaxbox">SyntaxError: "x" is a reserved identifier (Firefox)
SyntaxError: Unexpected reserved word (Chrome)</pre>
<h2 id="Fehlertyp">Fehlertyp</h2>
<p>{{jsxref("SyntaxError")}}</p>
<h2 id="Was_ist_falsch_gelaufen">Was ist falsch gelaufen?</h2>
<p><a href="/de/docs/Web/JavaScript/Reference/Lexical_grammar#Schlüsselwörter">Reservierte Schlüsselwörter</a> führen zu einem Fehler, wenn sie als Bezeichner verwendet werden. Im Strict Mode und im Normalen Mode führen folgende Schlüsselwörter zu einem Fehler:</p>
<ul>
<li><code>enum</code></li>
</ul>
<p>Die folgenden Schlüsselwörter führen nur im Strict Mode zu einem Fehler:</p>
<ul class="threecolumns">
<li><code>implements</code></li>
<li><code>interface</code></li>
<li>{{jsxref("Statements/let", "let")}}</li>
<li><code>package</code></li>
<li><code>private</code></li>
<li><code>protected</code></li>
<li><code>public</code></li>
<li><code>static</code></li>
</ul>
<h2 id="Beispiele">Beispiele</h2>
<h3 id="Reservierte_Schlüsselwörter_im_Strict_und_Normalen_Mode">Reservierte Schlüsselwörter im Strict und Normalen Mode</h3>
<p>Der<code>enum</code> Bezeichner ist generell reserviert.</p>
<pre class="brush: js example-bad">var enum = { RED: 0, GREEN: 1, BLUE: 2 };
// SyntaxError: enum is a reserved identifier
</pre>
<p>Im Strict Mode sind weitere Bezeichner reserviert.</p>
<pre class="brush: js example-bad">"use strict";
var package = ["potatoes", "rice", "fries"];
// SyntaxError: package is a reserved identifier
</pre>
<p>Man muss die Variablen umbenennen.</p>
<pre class="brush: js example-good">var colorEnum = { RED: 0, GREEN: 1, BLUE: 2 };
var list = ["potatoes", "rice", "fries"];</pre>
<h3 id="Ältere_Browser_aktualisieren">Ältere Browser aktualisieren</h3>
<p>Wenn ein alter Browser eingesetzt wird, der zum Beispiel noch nicht <code><a href="/de/docs/Web/JavaScript/Reference/Statements/let">let</a></code> oder <code><a href="/de/docs/Web/JavaScript/Reference/Statements/class">class</a></code> implementiert, muss der Browser aktualisiert werden, so dass er diese neuen Sprachfunktionen unterstützt.</p>
<pre class="brush: js">"use strict";
class DocArchiver {}
// SyntaxError: class is a reserved identifier
// (throws in older browsers only, e.g. Firefox 44 and older)
</pre>
<h2 id="Siehe_auch">Siehe auch</h2>
<ul>
<li><a href="http://wiki.c2.com/?GoodVariableNames">Gute Variablennamen</a></li>
</ul>
|