与 NaN 比较¶
ID: js/comparison-with-nan
Kind: problem
Security severity:
Severity: error
Precision: very-high
Tags:
- reliability
- correctness
- external/cwe/cwe-570
- external/cwe/cwe-571
Query suites:
- javascript-security-and-quality.qls
与特殊非数字值NaN
进行算术比较是无用的:没有任何东西被认为等于NaN
,甚至NaN
本身也不等于,同样地,没有任何东西被认为大于或小于NaN
。
建议¶
使用标准库中的isNaN
函数来确定给定值是否为NaN
。
示例¶
使用isNaN(x)
代替x === NaN
。
参考资料¶
Arvind Kumar:Javascript common mistake of comparing with NaN and not with isNaN.
Mozilla 开发者网络:NaN.
常见弱点枚举:CWE-570.
常见弱点枚举:CWE-571.