gpt4 book ai didi

typescript - 为枚举 typeScript 实现 toString

转载 作者:行者123 更新时间:2023-12-02 17:18:24 25 4
gpt4 key购买 nike

我想知道是否可以为枚举重新定义 toString()。

这是我的枚举:

enum Person{
FOO = 10,
FAA = 1,
FII = 2
}

我想重新定义 toString 以便在调用 Person.FOO.toString() 时返回“FOO”。这可能吗?

最佳答案

如果您查看代码的已编译 javascript:

var Person;
(function (Person) {
Person[Person["FOO"] = 10] = "FOO";
Person[Person["FAA"] = 1] = "FAA";
Person[Person["FII"] = 2] = "FII";
})(Person || (Person = {}));

您会注意到 Person.FOO 只是一个数字(具体来说是 10),因此覆盖 toString 的唯一方法> 因为它要求您为所有数字覆盖它,而您可能不希望这样。

如果您正在寻找枚举的名称(而不是序号),那么您可以简单地这样做:

console.log(Person[Person.FOO]); // "FOO"

关于typescript - 为枚举 typeScript 实现 toString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44905653/

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