--- title: 'Warning: expression closures are deprecated' slug: Web/JavaScript/Reference/Fehler/Deprecated_expression_closures tags: - JavaScript - Warning translation_of: Web/JavaScript/Reference/Errors/Deprecated_expression_closures ---
Warning: expression closures are deprecated
Warnung. Die Ausführung von JavaScript wird nicht angehalten.
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 {{jsxref("SyntaxError")}}.
Ausdrucks Closures vermeiden geschweifte Klammern oder return Anweisungen in Funktionsdeklarationen oder in Methodendefinitionen in Objekten.
var x = function() 1; var obj = { count: function() 1 };
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; } };
Alternativ können Arrow-Funktionen genutzt werden:
var x = () => 1;
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 } };