我是第一次使用打字稿,但我遇到了一个非常奇怪的问题。
我正在尝试像计算器一样进行计算,因此,当用户按下按钮时,它可能是数字,2 3 4 ...或操作* \ + ...
按下按钮时,我调用一个函数,然后该函数检查它是否是数字或一个操作,以调用适当的函数。
我比较这样的字符串:
if (Number(value) !== NaN) {
// it is a number
} else {
// it is an operation
}
尽管这在控制台中是有效的(也就是说我在按下数字时确实有一个数字(3,4,5)而在按下一个操作时确实有一个NaN),但这一行总是返回true,所以我总是认为一个数字。
我在这里做什么错了?
谢谢
答案 0 :(得分:3)
要检查值是否为NaN,应使用isNaN
函数。
if(isNaN(value)) {
//do this if NaN
} else {
//do this if not
}
顺便说一句:在 SO 上有很多类似的问题;)例如:How do you test for NaN in JavaScript?
答案 1 :(得分:0)
使用isNaN(value)
。如果value
是数字,则返回true,否则返回False。