什么是'v!==v'表达式检查
What does 'v !== v' expression check?
我在一个库的源代码中看到了这一点,并感到困惑。我认为,它总是评估为"false
"。使用它有什么意义?
检查v
是否为NaN
:
if( v !== v ){
//'v' is NaN here
}
来自标准:
ECMAScript代码测试值X是否为NaN是X形式的表达式的可靠方法!==X.当且仅当X是NaN时,结果为真。
为什么不直接使用内置的isNaN()
答案很简单:"isNaN()
不够可靠。"。以下是isNaN()
失败的情况:
isNaN("NaN") //true
isNaN(undefined) //true
它测试"非数字":NaN !== NaN
等于true
来自MDN:
NaN的初始值为Not-A-Number,与在现代浏览器中,NaN是不可配置的,不可写属性。即使不是这样,也要避免覆盖它。
在程序中使用NaN是相当罕见的。它是返回的值当数学函数
(Math.sqrt(-1))
失败时,或者当函数尝试解析数字失败CCD_ 10。
相关文章:
- 需要javascript正则表达式来检查以U或C开头、长度为10的字符串
- 带有 OR 语句的正则表达式来检查类似情况
- 从链接进行正则表达式检查
- 正则表达式如何正确使用来检查 str
- 正则表达式检查循环中的 [A-Z] 范围
- 在提交时检查正则表达式验证,如果为空,则聚焦所有输入字段
- 要检查的正则表达式数值字段没有 /或具有所有相同的数字
- 使用正则表达式进行HTML、javascript表单检查
- Javascript正则表达式空间检查
- Javascript正则表达式,用于检查字符串是否为有效数字
- 用Javascript正则表达式检查像x.0.0这样的字符串
- Javascript正则表达式检查标志支持
- 什么是'v!==v'表达式检查
- 正则表达式,用于检查输入是否有字符或至少有1个笑脸
- 用于数字和特殊查克检查的正则表达式
- 通过正则表达式检查合法字符,但结果出乎意料
- 使用正则表达式检查数组条目
- 正则表达式 - 仅第一个字符检查非字母字符
- Javascript - 如果语句同时检查表达式和定义声明?这是令人困惑的
- 如何检查表达式中的元素可见性