如何在打字稿中访问枚举的名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在打字稿中访问枚举的名称相关的知识,希望对你有一定的参考价值。

我使用的库有一个如下所示的emum:

/** Defines values that represent the status of a request to purchase an app or add-on. */
enum StorePurchaseStatus {
    /** The current user has already purchased the specified app or add-on. */
    alreadyPurchased = 1,
    /** The purchase request did not succeed because of a network connectivity error. */
    networkError = 3,
    /** The purchase request did not succeed. */
    notPurchased = 2,
    /** The purchase request did not succeed because of a server error returned by the Windows Store. */
    serverError = 4,
    /** The purchase request succeeded. */
    succeeded = 0,
}

我有数字值,我想打印名称(例如,我的状态为1,并希望打印'已购买')。

但是,当我做这样的事情时:

StorePurchaseStatus[1]

我最终得到了undefined。如果我只有值,我该如何访问字符串名称?

答案

你在原帖中写的方式很好。你可以查看这个Playground example

以下是访问名称和值的方法:

alert(StorePurchaseStatus[1]); // alreadyPurchased
alert(StorePurchaseStatus[StorePurchaseStatus[1]]);// 1

以上是关于如何在打字稿中访问枚举的名称的主要内容,如果未能解决你的问题,请参考以下文章

打字稿:如何检查一个值是不是是有效的枚举键值? [复制]

在打字稿中扩展枚举

使用枚举和泛型在打字稿中获取星期几

如何在打字稿中访问(firestore)文档ID或地址?

避免任何类型在打字稿中获取枚举值

如何理解打字稿中的“属性'名称'在'用户'类型中是私有的”