Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. JavaScript-Fehlerreferenz
  5. SyntaxError: "use strict" nicht erlaubt in Funktion mit nicht einfachen Parametern

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

SyntaxError: "use strict" nicht erlaubt in Funktion mit nicht einfachen Parametern

Der JavaScript-Fehler ""use strict" nicht erlaubt in Funktion" tritt auf,wenn eine"use strict"-Anweisung am Anfang einer Funktion verwendet wird, dieStandardparameter,Rest-Parameter oderDestrukturierungs-Parameter hat.

Meldung

SyntaxError: Illegal 'use strict' directive in function with non-simple parameter list (V8-based)SyntaxError: "use strict" not allowed in function with default parameter (Firefox)SyntaxError: "use strict" not allowed in function with rest parameter (Firefox)SyntaxError: "use strict" not allowed in function with destructuring parameter (Firefox)SyntaxError: 'use strict' directive not allowed inside a function with a non-simple parameter list. (Safari)

Fehlertyp

SyntaxError.

Was ist schiefgelaufen?

Eine"use strict"-Anweisung ist am Anfang einer Funktion geschrieben, die einender folgenden Parameter hat:

Eine"use strict"-Anweisung ist am Anfang solcher Funktionen lautder ECMAScript-Spezifikation nicht erlaubt.

Beispiele

Funktionsdeklaration

In diesem Fall hat die Funktionsum Standardparametera=1 undb=2:

js
function sum(a = 1, b = 2) {  // SyntaxError: "use strict" not allowed in function with default parameter  "use strict";  return a + b;}

Wenn die Funktion imStrict Mode sein soll unddas gesamte Skript oder die umgebende Funktion ebenfalls im Strict Mode sein kann, können Sie die"use strict"-Anweisung außerhalb der Funktion verschieben:

js
"use strict";function sum(a = 1, b = 2) {  return a + b;}

Funktionsausdruck

Ein Funktionsausdruck kann eine andere Lösung verwenden:

js
const sum = function sum([a, b]) {  // SyntaxError: "use strict" not allowed in function with destructuring parameter  "use strict";  return a + b;};

Dies kann in den folgenden Ausdruck umgewandelt werden:

js
const sum = (function () {  "use strict";  return function sum([a, b]) {    return a + b;  };})();

Pfeilfunktion

Wenn eine Pfeilfunktion auf die Variablethis zugreifen muss, können Sie diePfeilfunktion als umgebende Funktion verwenden:

js
const callback = (...args) => {  // SyntaxError: "use strict" not allowed in function with rest parameter  "use strict";  return this.run(args);};

Dies kann in den folgenden Ausdruck umgewandelt werden:

js
const callback = (() => {  "use strict";  return (...args) => this.run(args);})();

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp