为什么
isNaN(undefined) !== Number.isNaN(undefined)
是真的。
为什么是真的
console.log(isNaN(undefined)) //is true
但是如果我添加Number.
console.log(Number.isNaN(undefined)) // is false
答案 0 :(得分:1)
Number.isNaN
函数是全局isNaN
函数的“更强大的版本”。具体来说,全局attrs
函数的规则很奇怪,这就是为什么isNaN
通常是首选的原因。参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN#Description。
因此,Number.isNaN
本质上检查您的值是否不是数字,而isNaN
检查您的值是否为Number.isNaN
。当然,并非所有非数字值都为NaN
-NaN
,不是"test"
,但也不是数字。
答案 1 :(得分:0)
!anything
和parseFloat('27')
将始终为您提供布尔值。
27
为您提供数字27
。
false
不是List<UserDeactivationThreshold> thresholds = new ArrayList<>();
Map<String, UserDeactivationThreshold> adminUDTMap = new HashMap<String, UserDeactivationThreshold>();
for(int i = 0 ; i < thresholds.size() ; i++){
UserDeactivationThreshold udt = thresholds.get(i);
UserDeactivationThreshold udtTemp = adminUDTMap.get(udt.getRoleName());
if(udt.getThresholdValue() < udtTemp.getThresholdValue()){
adminUDTMap.put(udt.getRoleName(), udt);
}
}
,即使进行类型转换也是如此。