作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否可以为枚举重新定义 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/
我是一名优秀的程序员,十分优秀!