Errors: Deprecated expression closures
Errors: Deprecated expression closures
信息
Warning: expression closures are deprecated
错误类型
警告。JavaScript执行不会停止。
什么地方出了错?
非标准表达式闭包语法(简写函数语法)已弃用,不应再使用。这个语法将在bug 1083458中完全删除,而使用它的脚本将会抛出一个SyntaxError
then。
例子
弃用的语法
表达式闭包从函数声明或对象中的方法定义中省略大括号或返回语句。
var x = function() 1;
var obj = {
count: function() 1
};
标准语法
要将非标准表达式闭包语法转换为标准ECMAScript语法,可以添加大括号和返回语句。
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
};
通过ES2015方法定义,可以将其转换为:
var obj = {
get x() { return 1 },
set x(v) { this.v = v }
};