最近发现一个很容易让人忽视的bug,当我要判断一个数字不等于undefined,不等于null,不等于" ",符合条件后才执行语句,但是0总是无法进入判断,
0是一个很特殊的存在,它不符合!=" ",在判断的时候,要使用两个等号,或则将其转换为字符串再进行判断
方式1
判断!=" "
的时候使用两个等号
if (
this.stgIndex != undefined &&
this.stgIndex != null &&
this.stgIndex !== ""
) {
//条件符合
}
方式2
判断!=" "
的时候,先转为字符串再判断
if (
this.stgIndex != undefined &&
this.stgIndex != null &&
this.stgIndex .toString() != ""
) {
//条件符合
}