首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Errors: Deprecated expression closures

信息

代码语言:javascript
复制
Warning: expression closures are deprecated

错误类型

警告。JavaScript执行不会停止。

什么地方出了错?

非标准表达式闭包语法(简写函数语法)已弃用,不应再使用。这个语法将在bug 1083458中完全删除,而使用它的脚本将会抛出一个SyntaxErrorthen。

例子

弃用的语法

表达式闭包从函数声明或对象中的方法定义中省略大括号或返回语句。

代码语言:javascript
复制
var x = function() 1;

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

标准语法

要将非标准表达式闭包语法转换为标准ECMAScript语法,可以添加大括号和返回语句。

代码语言:javascript
复制
var x = function() { return 1; }

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

使用箭头函数的标准语法

或者,您可以使用箭头功能:

代码语言:javascript
复制
var x = () => 1;

使用简写法语法的标准语法

表达式闭包也可以通过getter和setter来找到,如下所示:

代码语言:javascript
复制
var obj = {
  get x() 1,
  set x(v) this.v = v
};

通过ES2015方法定义,可以将其转换为:

代码语言:javascript
复制
var obj = { 
  get x() { return 1 }, 
  set x(v) { this.v = v } 
};

扫码关注腾讯云开发者

领取腾讯云代金券