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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:31 次

字数:3112

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文