aboutsummaryrefslogtreecommitdiff
path: root/files/de/web/javascript/reference/fehler/strict_non_simple_params
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:15 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:41:15 -0500
commit4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch)
treed4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/de/web/javascript/reference/fehler/strict_non_simple_params
parent33058f2b292b3a581333bdfb21b8f671898c5060 (diff)
downloadtranslated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz
translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2
translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip
initial commit
Diffstat (limited to 'files/de/web/javascript/reference/fehler/strict_non_simple_params')
-rw-r--r--files/de/web/javascript/reference/fehler/strict_non_simple_params/index.html111
1 files changed, 111 insertions, 0 deletions
diff --git a/files/de/web/javascript/reference/fehler/strict_non_simple_params/index.html b/files/de/web/javascript/reference/fehler/strict_non_simple_params/index.html
new file mode 100644
index 0000000000..a288a81a10
--- /dev/null
+++ b/files/de/web/javascript/reference/fehler/strict_non_simple_params/index.html
@@ -0,0 +1,111 @@
+---
+title: 'SyntaxError: "use strict" not allowed in function with non-simple parameters'
+slug: Web/JavaScript/Reference/Fehler/Strict_Non_Simple_Params
+tags:
+ - Errors
+ - JavaScript
+ - TypeError
+translation_of: Web/JavaScript/Reference/Errors/Strict_Non_Simple_Params
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Fehlermeldung">Fehlermeldung</h2>
+
+<pre class="syntaxbox">Firefox:
+SyntaxError: "use strict" not allowed in function with default parameter
+SyntaxError: "use strict" not allowed in function with rest parameter
+SyntaxError: "use strict" not allowed in function with destructuring parameter
+
+Chrome:
+SyntaxError: Illegal 'use strict' directive in function with non-simple parameter list
+</pre>
+
+<h2 id="Fehlertyp">Fehlertyp</h2>
+
+<p>{{jsxref("SyntaxError")}}.</p>
+
+<h2 id="Was_ist_falsch_gelaufen">Was ist falsch gelaufen?</h2>
+
+<p>Eine <code>"use strict"</code> Direktive steht am Anfang einer Funktion, die einen der folgende Parameter hat:</p>
+
+<ul>
+ <li>{{jsxref("Functions/Default_parameters", "Standardparameter", "", 1)}}</li>
+ <li>{{jsxref("Functions/rest_parameters", "Rest Parameter", "", 1)}}</li>
+ <li>{{jsxref("Operators/Destructuring_assignment", "Destrukturierte Parameter", "", 1)}}</li>
+</ul>
+
+<p>Eine <code>"use strict"</code> Direktive ist am Anfang solcher Funktionen durch die ECMAScript Spezifikation nicht erlaubt.</p>
+
+<h2 id="Beispiele">Beispiele</h2>
+
+<h3 id="Funktionsstatement">Funktionsstatement</h3>
+
+<p>In diesem Fall hat die Funktion <code>sum</code> zwei Standardparameter <code>a=1</code> und <code>b=2</code>:</p>
+
+<pre class="brush: js example-bad">function sum(a = 1, b = 2) {
+ // SyntaxError: "use strict" not allowed in function with default parameter
+ 'use strict';
+ return a + b;
+}
+</pre>
+
+<p>Wenn die Funktion im <a href="/de/docs/Web/JavaScript/Reference/Strict_mode">Strict Mode</a> sein soll und das Skript oder die umschließende FUnktion auch für den Strict Mode in Ordnung ist, kann man die <code>"use strict"</code> Direktive nach außen verschieben:</p>
+
+<pre class="brush: js example-good">'use strict';
+function sum(a = 1, b = 2) {
+ return a + b;
+}
+</pre>
+
+<h3 id="Funktionsausdruck">Funktionsausdruck</h3>
+
+<p>Bei eine Funktionsausdruck kann ein andere Workaround genutzt werden:</p>
+
+<pre class="brush: js example-bad">var sum = function sum([a, b]) {
+ // SyntaxError: "use strict" not allowed in function with destructuring parameter
+ 'use strict';
+ return a + b;
+};
+</pre>
+
+<p>Dieses kann zu folgendem Ausdruck konvertiert werden:</p>
+
+<pre class="brush: js example-good">var sum = (function() {
+ 'use strict';
+ return function sum([a, b]) {
+ return a + b;
+ };
+})();
+</pre>
+
+<h3 id="Pfeilfunktionen">Pfeilfunktionen</h3>
+
+<p>Wenn eine Pfeilfunktion auf die <code>this</code> Variable zugreift, so kann eine umschließende Pfeilfunktion benutzt werden:</p>
+
+<pre class="brush: js example-bad">var callback = (...args) =&gt; {
+ // SyntaxError: "use strict" not allowed in function with rest parameter
+ 'use strict';
+ return this.run(args);
+};
+</pre>
+
+<p>Dieses kann zu folgendem Ausdruck konvertiert werden:</p>
+
+<pre class="brush: js example-good">var callback = (() =&gt; {
+ 'use strict';
+ return (...args) =&gt; {
+ return this.run(args);
+ };
+})();
+</pre>
+
+<h2 id="Siehe_auch">Siehe auch</h2>
+
+<ul>
+ <li>{{jsxref("Strict_mode", "Strict mode", "", 1)}}</li>
+ <li>{{jsxref("Statements/function", "function statement", "", 1)}}</li>
+ <li>{{jsxref("Operators/function", "function expression", "", 1)}}</li>
+ <li>{{jsxref("Functions/Default_parameters", "Default parameters", "", 1)}}</li>
+ <li>{{jsxref("Functions/rest_parameters", "Rest parameters", "", 1)}}</li>
+ <li>{{jsxref("Operators/Destructuring_assignment", "Destructuring parameters", "", 1)}}</li>
+</ul>