En JavaScript, à l'exception de NaN, toutes les autres variables sont-elles égales à elles-mêmes ?
学习ing2017-07-05 10:50:13
0
4
1406
Comment JavaScript détermine-t-il rapidement si la valeur d'une variable val est NaN ? Si, à l'exception de la valeur NaN, toutes les autres variables sont égales à elle-même, alors il suffit de juger directement si val===val ?
NaN est la seule valeur non réflexive en JavaScript, qui est
NaN === NaN // false
Ce livre mentionne :
NaN est une valeur très spéciale dans la mesure où elle n'est jamais égale à une autre valeur NaN (c'est-à-dire qu'elle n'est jamais égale à elle-même). En fait, c'est la seule valeur qui n'est pas réflexive (sans la caractéristique d'identité x === x). . Alors, NaN !== NaN.
Oui, NaN peut être jugé en utilisant isNaN ou s'il est égal à vous-même
En même temps, à l'inverse, si deux variables sont égales pour déterminer si les deux variables sont identiques, il existe des cas particuliers de +0 et -0, et utilisez l'inverse pour déterminer si elles sont égales.
NaN est la seule valeur non réflexive en JavaScript, qui est
Ce livre mentionne :
JavaScript que vous ne connaissez pas
Oui, NaN peut être jugé en utilisant isNaN ou s'il est égal à vous-même
En même temps, à l'inverse, si deux variables sont égales pour déterminer si les deux variables sont identiques, il existe des cas particuliers de +0 et -0, et utilisez l'inverse pour déterminer si elles sont égales.
Voulez-vous essayer la question ?
ES6 en
Number
对象上,新提供了Number.isNaN()
方法,建议直接使用Number.isNaN()
来检查一个值是否为NaN
。另外除开
+0
和-0
的情况,===
是满足需求的,更好一点的方式使用Object.is()