Fehlermeldung

Warning: expression closures are deprecated

Fehlertyp

Warnung. Die Ausführung von JavaScript wird nicht angehalten.

Was ist falsch gelaufen?

Die nicht standardisierte Ausdrucks Closure Syntax (Kurzform der Funktionssyntax) ist veraltetet und sollte nicht mehr verwendet werden. Diese Syntax wird komplett entfernt (Bug 1083458) und Skripte die diese Benutzen erzeugen dann einen SyntaxError.

Beispiele

Veraltete Syntax

Ausdrucks Closures vermeiden geschweifte Klammern oder return Anweisungen in Funktionsdeklarationen oder in Methodendefinitionen in Objekten.

var x = function() 1;

var obj = { 
  count: function() 1
};

Standardsyntax

Um die nicht standardisierte Ausdrucks Closures Syntax zu Standard-ECMAScript Syntax zu konvertieren müssen geschweifte Klammern und ein return Statement hinzugefügt werden.

var x = function() { return 1; }

var obj = {
  count: function() { return 1; }
};

Standardsyntax mit Arrowfunktionen

Alternativ können Arrow-Funktionen genutzt werden:

var x = () => 1;

Standardsyntax mit Kurzformmethodensyntax

Anweisungs Closures können auch in Gettern und Settern gefunden werden:

var obj = {
  get x() 1,
  set x(v) this.v = v
};

Mit ES2015 Methodendefinitionen können diese folgendermaßen konvertiert werden :

var obj = { 
  get x() { return 1 }, 
  set x(v) { this.v = v } 
};

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
Mitwirkende an dieser Seite: schlagi123
Zuletzt aktualisiert von: schlagi123,