aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/fehler/reserved_identifier/index.html
blob: a483f4cd1acfd9294511d9e578408bc829dc328c (plain)
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>