Предупреждение: затворы выражения являются устаревшими

Сообщение

Warning: замыкания выражений являются устаревшими

Тип ошибки

Предупреждающий. Выполнение скрипта не будет остановлено.

Что пошло не так?

Нестандартный синтаксис закрытия выражений (сокращенный синтаксис функций) устарел и больше не должен использоваться. Этот синтаксис будет полностью удален в Этот синтаксис будет полностью удален в баг 1083458 а скрипты с его помощью SyntaxError затем.

Примеры

Неправильтный синтаксис

Замыкания выражений пропускают фигурные скобки или операторы return из объявлений функций или определений методов в объектах.

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.

var x = function() { return 1; }

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

Стандартный синтаксис с использованием функций со стрелками:

var x = () => 1;

Стандартный синтаксис с использованием сокращенного синтаксиса метода

Замыкания выражений также можно найти с помощью getter'а и setter'а, например:

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

With ES2015 method definitions, это может быть конвертированно в:

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

Смотрите также