Warning: expression closures are deprecated - JavaScript 编辑
错误提示
Warning: expression closures are deprecated
错误类型
警告。JavaScript 引擎不会停止运行。
哪里出错了?
非标准化的表达式闭包语法(简写函数语法)已被废弃,不应该再被使用。该语法将会在 bug 1083458 中全部移除,到时候用到该语法的脚本程序会报 SyntaxError 错误。
示例
被废弃的语法
表达式闭包从函数声明或者对象方法定义中省略了花括号或是 return 语句。
var x = function() 1;
var obj = {
count: function() 1
};
标准语法
将非标准化的表达式闭包语法转换成标准 ECMAScript 语法,可以添加花括号以及 return 语句。
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 }
};
相关内容
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论