防止枚举参数接受Typescript中的数值
以下代码不产生任何警告:防止枚举参数接受Typescript中的数值,typescript,Typescript,以下代码不产生任何警告: export enum UnitKindEnum { UNIT1, UNIT2, } function func(p: UnitKindEnum) { console.log(p); } func(UnitKindEnum.UNIT1) func(-10) 如何强制函数只接受枚举类型?我知道的唯一解决方案是使用字符串枚举: export enum UnitKindEnum { UNIT1 = "1", UNIT2 = "2", } fun
export enum UnitKindEnum {
UNIT1,
UNIT2,
}
function func(p: UnitKindEnum) {
console.log(p);
}
func(UnitKindEnum.UNIT1)
func(-10)
如何强制函数只接受枚举类型?我知道的唯一解决方案是使用字符串枚举:
export enum UnitKindEnum {
UNIT1 = "1",
UNIT2 = "2",
}
function func(p: UnitKindEnum) {
console.log(p);
}
func(UnitKindEnum.UNIT1)
func("1")
然而,这感觉有点像黑客