gpt4 book ai didi

typescript - 从局部变量设置枚举对象的初始成员值时出错

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:55 24 4
gpt4 key购买 nike

playground here 中的 typescript 示例.

我正在尝试设置枚举对象的初始成员值,并且该初始值来自 const(数字)。在这种情况下,以下所有值都会产生 TS 错误:“Enum member must have initializer.”

这是不允许的吗?为什么后面的成员没有设置为前面的枚举成员加一?

为简洁起见,这里是代码,但您可以在上面的 playground 链接中看到它:

const firstValue: number = 100;
enum Animal {
Lion = firstValue,
Tiger, // gives error
Horse, // gives error
Fish // gives error
}

最佳答案

目前这确实是不允许的——当另一个枚举成员跟随一个初始化器时,枚举成员只有在计算值静态已知时才会自动递增。目前,这仅包括数值文字和其他值静态已知的枚举成员,但分析目前不包括 const 声明。

你可以用

来解决这个问题
enum FirstValue {
firstValue = 100
}

并使用 FirstValue.firstValue 而不是 firstValue

关于typescript - 从局部变量设置枚举对象的初始成员值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44708914/

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