gpt4 book ai didi

javascript - 如何在 typescript 中解构枚举值?

转载 作者:行者123 更新时间:2023-12-05 00:34:51 29 4
gpt4 key购买 nike

我在 typescript 中有一个枚举,如下所示:

export enum XMPPElementName {
state = "state",
presence = "presence",
iq = "iq",
unreadCount = "uc",
otherUserUnreadCount = "ouc",
sequenceID = "si",
lastSequenceID = "lsi",
timeStamp = "t",
body = "body",
message = "message"
}
并且想要解构它的值(value),我们如何在 Typescript 中做到这一点?
const { uc, ouc, msg, lsi, si, t, body } =  XMPPElementName; 
更新
作为@amadan mentioned , 我们可以使用 Assigning to new variable names如 Mozilla 文档中所说的 Destructuring_assignment ,如下所示:
分配给新的变量名
属性可以从对象中解压缩并分配给名称与对象属性不同的变量。
const o = {p: 42, q: true};
const {p: foo, q: bar} = o;

console.log(foo); // 42
console.log(bar); // true
并且该方法很好地解决了这个问题,但是如果您需要访问所有项目而不需要显式定义它们,您可以在这两个提到的 tag1 中的任何一个 tag2

最佳答案

const { uc, ouc, msg, lsi, si, t, body } =  XMPPElementName; 

这不起作用,因为 XMPPElementName没有名为 uc 的元素(也同样适用于其他人)。如果您明确命名您的 key ,它将起作用:
  const {
unreadCount: uc,
otherUserUnreadCount: ouc,
message: msg,
lastSequenceID: lsi,
sequenceID: si,
timeStamp: t,
body: body,
} = XMPPElementName;
它会起作用的。或者,您可以只使用名称等于键而不是值的变量:
  const {
unreadCount,
otherUserUnreadCount,
message,
lastSequenceID,
sequenceID,
timeStamp,
body,
} = XMPPElementName;

关于javascript - 如何在 typescript 中解构枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64548438/

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