【发布时间】:2019-09-04 03:38:53
【问题描述】:
我正在尝试将 switch 与 ENUM 一起使用,但它似乎不起作用
function ConvertToTableName(targetName: PostType): string {
let tableName = ""
switch (targetName) {
case PostType.COMMUNITY:
tableName = '"COMMUNITY_POST_COMMENT"'
break
case PostType.RECOMMEND:
tableName = '"RECOMMEND_POST_COMMENT"'
break
}
console.log(targetName)
console.log(tableName)
return tableName
}
这是我的功能。
console.log(targetName) //PRINTS RECOMMEND
console.log(tableName) //PRINTS NOTHING
即使 targetName 是 PostType 类型并且具有 RECOMMEND 值, targetName 不涉及任何情况,因此 tableName 未设置为任何内容。
这是我的枚举:
export enum PostType {
RECOMMEND,
COMMUNITY
}
枚举和函数放在不同的文件中,但正确导入
如何解决,以便 switch 子句按预期工作?
【问题讨论】:
-
但它可以在我的机器上运行:P typescriptlang.org/play/#code/…
-
另外,
console.log(targetName)应该打印 1 或 0。要打印您将使用的枚举名称:console.log(PostType[targetName]); -
我的论点
targetName来自 GraphQL 的查询枚举,我想这与 switch 不起作用的原因有关 +console.log(targetName)打印RECOMMEND而不是 0 或 1
标签: typescript enums switch-statement