Warning: expression closures are deprecated

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