当前位置: 首页 > 知识库问答 >
问题:

将arrow函数与类get | Reducing代码一起使用以定义类常数[重复]

莘聪
2023-03-14

我正在尝试在javascript中创建常量。我发现这个答案很有帮助。之后,我写了这样的东西。

const ERR1 = 'Error 1',
  ERR2 = 'Error 2',
  ERR3 = 'Error 3',
  ERR4 = 'Error 4'

class Error {
  static get ERR1 () {
    return ERR1
  }

  static get ERR2 () {
    return ERR2
  }

  static get ERR3 () {
    return ERR3
  }

  static get ERR4 () {
    return ERR4
  }
}

虽然这很完美,但我想减少代码,因为它非常冗长。可能是在类中使用这样的箭头函数的一行。

static get ERR1 = () => ERR1
static get ERR2 = () => ERR2
...

但是,这会给出错误,指出意外令牌=。尝试使用静态获取ERR1:()=

要回答这个问题,以上任何一项都足够了。

  • 为什么这是一个错误?
  • 是否可以使用箭头语法编写类获取?
  • 有没有更短的方法来定义常量?

共有1个答案

凤修筠
2023-03-14

Javascript语法禁止getter成为箭头函数(请参见https://stackoverflow.com/a/33827643/1358308更多信息)

我可能会做一些类似的事情:

const Error = Object.freeze({
  ERR1: 'Error 1',
  ERR2: 'Error 2',
  ERR3: 'Error 3',
  ERR4: 'Error 4',
})
 类似资料:
  • 问题内容: 我的问题是: 是否有一个类似的函数与a而不是a一起使用? 我的特定问题是: 我在Oracle数据库上。我有一堆与Domo CenterView交互的预先编写的查询。查询中的变量由定义。我需要重写这些查询。我没有写原始文档,所以不是想弄清楚变量的好值是什么,而是要使用应用程序运行查询并从中获取查询的内容。 所以我的解决方法是: 做一个与它的可变填充和查询。但是,仅限于的数据类型为。因此,

  • 我正在使用Jooq(与PostgreSQL一起使用)。我需要在一些查询中使用,从自定义类型的字段聚合值。 FIELD2是DB中的列,通常映射为Java Long。 我定义了一个强制转换到某个Java类。 转换在所有查询中都能正常工作,但是当使用时,它会异常失败: 有解决办法吗?这是JOOQ限制吗? 谢谢丹

  • 问题内容: 我想确保数据库中是否存在临时表。 我尝试使用函数,但似乎无法将其用于临时表。 我该如何解决这个问题? 问题答案: 使用 在另一个数据库的上下文中运行时获取临时表的ID。

  • 如果你想定义一个类,你只需要使用class关键字。 class MainActivity{ } 它有一个默认唯一的构造器。我们会在以后的课程中学习在特殊的情况下创建其它额外的构造器,但是请记住大部分情况下你只需要这个默认的构造器。你只需要在类名后面写上它的参数。如果这个类没有任何内容可以省略大括号: class Person(name: String, surname: String) 那么构造函

  • 问题内容: 我已经开始了一个项目,其中我在前端使用React JS,在后端使用node js。我使用webpack捆绑了JS文件。我将babel与其他必要的东西一起使用。当我在react类中使用箭头函数时,它会给出语法错误,例如: 模块构建失败:SyntaxError:意外令牌 但是我可以在节点中使用Arrow函数,没有任何问题。 这是我的webpack配置文件: 我的React文件: 如何解决这

  • 问题内容: 我的包中有一个结构,上面有耗时的方法,通过工厂函数进行构造也很耗时。因此,在依赖于该其他结构的包中,我希望能够在创建后使用伪造的工厂函数和伪造的结构对其进行测试。由于结构是通过工厂函数构造的,因此我想伪造工厂函数,并在测试期间将替代工厂函数传递给我的结构。 昂贵的包装的一个例子是: 我的主包装使用以下代码: 但是,此代码抱怨以下错误: 。\ main.go:6:不能在字段值中使用昂贵的