JS如何准确判断NaN(isNaN函数不可靠问题)
使用isNaN()判断一个变量是否为NaN踩了个坑。
undefined也能够通过isNaN()的判断,难道我还要在判断一下是否为undefined?很明显这样不够优雅 逼格。
那么如何一步到位准确判断一个变量是否为NaN?
可以利用NaN不等于其自身的特性来判断⬇⬇⬇⬇⬇⬇⬇⬇⬇
由此,我们只需要将需要判断的变量与它自身相比较,如果不相等,那么这个变量就是NaN⬇⬇⬇⬇⬇⬇⬇⬇
function myIsNaN(x){
return x!==x
}
let myu = undefined;
let myN = NaN;
let myn = null;
console.log('undefined:',myIsNaN(myu))
console.log('NaN:',myIsNaN(myN))
console.log('null:',myIsNaN(myn)