(数字(值)!== NaN)始终为真[重复]
Posted
技术标签:
【中文标题】(数字(值)!== NaN)始终为真[重复]【英文标题】:(Number(value) !== NaN) always true [duplicate] 【发布时间】:2019-02-27 00:37:20 【问题描述】:我第一次使用打字稿,遇到了一个很奇怪的问题。
我正在尝试像计算器一样进行计算,所以当用户按下按钮时,它可能是数字、2 3 4 ... 或运算 * \ + ...
在按钮按下时,我调用一个函数,该函数检查它是数字还是操作以调用适当的函数。
我这样比较我的字符串:
if (Number(value) !== NaN)
// it is a number
else
// it is an operation
虽然这在控制台中工作(我的意思是当我按下一个数字时我确实有一个数字(3,4,5),当我按下一个操作时我有一个 NaN)这条线总是返回 true,所以我总是考虑它一个数字。
我在这里做错了什么?
谢谢
【问题讨论】:
见:***.com/questions/34261938/…NaN === NaN
是false
【参考方案1】:
要检查值是否为 NaN,您应该使用 isNaN
函数。
if(isNaN(value))
//do this if NaN
else
//do this if not
顺便说一句:关于 SO 很多类似的问题 ;) 例如:How do you test for NaN in javascript?
【讨论】:
认为打字稿会有不同的功能 "顺便说一句:关于很多类似的问题" - 那么请标记为重复关闭。【参考方案2】:使用isNaN(value)
。如果value
是一个数字,则返回 true,否则返回 False。
【讨论】:
以上是关于(数字(值)!== NaN)始终为真[重复]的主要内容,如果未能解决你的问题,请参考以下文章