Typescript If语句与同一变量的多个值匹配

Typescript If语句与同一变量的多个值匹配,typescript,if-statement,Typescript,If Statement,在Typescript IF语句中,是否有一种较短的方法来管理同一变量的匹配值列表 if(X==5 || X==undefined || X=="") { //do something... } 从语法上讲,您可以使用switch而不是if使用重复案例测试多个值: 开关(x){ 案例5: 案例“”: 未定义的情况: //做点什么 打破 } 但这很少做到 要以编程方式测试多个值,可以将值放入数组中,并使用indexOf检查它是否包含参数值: if([5',未定义]

在Typescript IF语句中,是否有一种较短的方法来管理同一变量的匹配值列表

if(X==5 || X==undefined || X=="") {
     //do something...
}

从语法上讲,您可以使用
switch
而不是
if
使用重复案例测试多个值:

开关(x){
案例5:
案例“”:
未定义的情况:
//做点什么
打破
}
但这很少做到

要以编程方式测试多个值,可以将值放入数组中,并使用
indexOf
检查它是否包含参数值:

if([5',未定义].indexOf(x)>=0){
...
}
请注意,这将每次创建值数组,因此如果重复此检查,您可能希望在其他位置创建一次数组,然后重用它

常量值=[5,”,未定义];
//别处
如果(值indexOf(x)>=0){
...
}
事实上,如果要测试的值的数量很大,您可能希望将它们放在
集中
并检查它
是否有
它们,因为这比针对数组进行测试更快:

const values=新集合(5,”,未定义);
//别处
if(值has(x)){
...
}