gpt4 book ai didi

ecmascript-6 - 带箭头功能的 ES6 getter/setter

转载 作者:行者123 更新时间:2023-12-03 05:15:39 24 4
gpt4 key购买 nike

我正在使用 babel6,对于我的宠物项目,我正在为 XMLHttpRequest 创建一个包装器,用于我可以使用的方法:

open = (method, url, something) => {
return this.xhr.open(method, url, something);
}

但是对于属性箭头功能不起作用

这有效:

get status() { return this.xhr.status; }

但我不能使用

get status = () => this.xhr.status;

这是故意的吗?

最佳答案

根据ES2015语法,a property on an object literal只能是以下三件事之一:

PropertyDefinition:

  • IdentifierReference
  • PropertyName : AssignmentExpression
  • MethodDefinition

这些类型中唯一允许前导 get 的是 MethodDefinition :

MethodDefinition :

  • PropertyName ( StrictFormalParameters ) { FunctionBody }
  • GeneratorMethod
  • get PropertyName ( ) { FunctionBody }
  • set PropertyName ( PropertySetParameterList ) { FunctionBody }

如您所见,get 形式遵循非常有限的语法,必须采用以下形式

get NAME () { BODY }

语法不允许使用 get NAME = ... 形式的函数。

关于ecmascript-6 - 带箭头功能的 ES6 getter/setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com