Các tình nguyện viên của chúng tôi chưa dịch bài viết này thành Tiếng Việt. Tham gia với chúng tôi và hoàn thành công việc!
Bạn cũng có thể đọc bài viết trongEnglish (US).

Message

Warning: expression closures are deprecated

Error Type

Warning. JavaScript execution won't be halted.

What went wrong?

The non-standard expression closure syntax (shorthand function syntax) is deprecated and shouldn't be used anymore. This syntax will be removed entirely in bug 1083458 and scripts using it will throw a SyntaxError then.

Examples

Deprecated syntax

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
};

Standard syntax

To convert the non-standard expression closures syntax to standard ECMAScript syntax, you can add curly braces and return statements.

var x = function() { return 1; }

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

Standard syntax using arrow functions

Alternatively, you can use arrow functions:

var x = () => 1;

Standard syntax using shorthand method syntax

Expression closures can also be found with getter and setter, like this:

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

With ES2015 method definitions, this can be converted to:

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

See also

Document Tags and Contributors

Nhãn: 
Những người đóng góp cho trang này: SphinxKnight, mdnwebdocs-bot, fscholz
Cập nhật lần cuối bởi: SphinxKnight,