您的位置:首页技术文章
文章详情页

javascript中,是否除了值为NaN的,其他的变量是否都恒等于自己?

【字号: 日期:2023-03-17 17:16:57浏览:80作者:猪猪

问题描述

javascript如何快速判断一个变量val的值是否是NaN?如果除了值为NaN的,其他的变量是否都恒等于自己,那么直接判断val===val是否就行了?

问题解答

回答1:

NaN是JavaScript里面唯一一个非自反的值,也就是

NaN === NaN // false

这本书里面有提到:

NaN is a very special value in that it’s never equal to another NaN value (i.e., it’s never equal to itself). It’s the only value, in fact, that is not reflexive (without the Identity characteristic x === x). So, NaN !== NaN.

你不知道的JavaScript

回答2:

是的,NaN 使用 isNaN 或者 是否等于自己来判断

同时,反过来说,如果两个变量相等判断这两个变量是否相同有 +0 和 -0 的特殊情况,使用倒数判断是否相等。

回答3:

let a = []let b = []console.log(a===b)

题主试一试?

回答4:

ES6在Number对象上,新提供了Number.isNaN()方法,建议直接使用Number.isNaN()来检查一个值是否为NaN。另外除开 +0 和 -0 的情况,===是满足需求的,更好一点的方式使用Object.is()

标签: JavaScript
相关文章: