The JavaScript warning "expression closures are deprecated" occurs when the non-standard expression closure syntax (shorthand function syntax) is used. This syntax is now removed and the warning message is obsolete.
The JavaScript warning "expression closures are deprecated" occurs when the non-standard expression closure syntax (shorthand function syntax) is used. This syntax is now removed and the warning message is obsolete.
Warning: expression closures are deprecated
Warning. JavaScript execution won't be halted.
The non-standard expression closure syntax (shorthand function syntax) is deprecated and shouldn't be used anymore. This syntax has been removed entirely in bug 1083458 and scripts using it will throw a SyntaxError
in newer versions of Firefox.
Expression closures omit curly braces or return statements from function declarations or from method definitions in objects.
var x = function () 1; var obj = { count: function () 1 };
To convert the non-standard expression closures syntax to standard ECMAScript syntax, you can add curly braces and return statements.
const x = function () { return 1; }; const obj = { count() { return 1; }, };
Alternatively, you can use arrow functions:
const x = () => 1;
Expression closures can also be found with getter and setter, like this:
var obj = { get x() 1, set x(v) this.v = v };
With method definitions, this can be converted to:
const obj = { get x() { return 1; }, set x(v) { this.v = v; }, };
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Deprecated_expression_closures