aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/errors/var_hides_argument/index.html
blob: b1c84be1d179c3c718b2aa26e54d3b02b83b8be1 (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
---
title: 'TypeError: variable "x" redeclares argument'
slug: Web/JavaScript/Reference/Errors/Var_hides_argument
tags:
  - Errors
  - JavaScript
  - Strict Mode
  - TypeError
translation_of: Web/JavaScript/Reference/Errors/Var_hides_argument
original_slug: Web/JavaScript/Reference/Fehler/Var_hides_argument
---
<div>{{jsSidebar("Errors")}}</div>

<h2 id="Fehlermeldung">Fehlermeldung</h2>

<pre class="syntaxbox">TypeError: variable "x" redeclares argument (Firefox)
</pre>

<h2 id="Fehlertyp">Fehlertyp</h2>

<p>{{jsxref("TypeError")}} Warnung nur im <a href="/de/docs/Web/JavaScript/Reference/Strict_mode">strict mode</a>.</p>

<h2 id="Was_ist_falsch_gelaufen">Was ist falsch gelaufen?</h2>

<p>Der selbe Variablenname für einen Funktionsparameter und einer Neudeklaration mit einer <code><a href="/de/docs/Web/JavaScript/Reference/Statements/var">var</a></code> Zuweisung im Funktionskörper ist vorhanden. Dieses ist ein Namenskonflikt, weshalb JavaScript eine Warnung erzeugt.</p>

<p>Dieser Fehler ist eine Warnung, die nur im <a href="/de/docs/Web/JavaScript/Reference/Strict_mode">strict mode</a> auftaucht. Ist man nicht im strict mode, so wird die Neudeklaration still ignoriert.</p>

<h2 id="Beispiele">Beispiele</h2>

<h3 id="Nicht_balider_Fall">Nicht balider Fall</h3>

<p>In diesem Fall wird die Variable "arg" neu deklariert.</p>

<pre class="brush: js example-bad">'use strict';

function f(arg) {
  var arg = 'foo';
}
</pre>

<h3 id="Valider_Fall">Valider Fall</h3>

<p>Um diese Warnung zu vermeiden kann das <code><a href="/de/docs/Web/JavaScript/Reference/Statements/var">var</a></code> Statement weggelassen werden, weil die Variable schon existiert. In anderen Fällen kann der Funktionsparameter oder die Variable umbenannt werden.</p>

<pre class="brush: js example-good">'use strict';

function f(arg) {
  arg = 'foo';
}
</pre>

<h2 id="Siehe_auch">Siehe auch</h2>

<ul>
 <li><a href="/de/docs/Web/JavaScript/Reference/Strict_mode">Strict mode</a></li>
</ul>