Maison > Article > interface Web > Interprétation détaillée du problème du symbole !! en JS
!! Généralement utilisé pour forcer l'expression suivante à des données de type booléen (booléen), c'est-à-dire qu'elle ne peut être que vraie ou fausse. Jetons un coup d'œil au !! en JS qui vous est présenté à travers cet article. Les amis qui en ont besoin peuvent s'y référer
Il est généralement utilisé pour forcer les expressions suivantes dans des données de type booléen (booléen), c'est-à-dire ne peut être que vrai ou faux.
var a; var b=!!a;
a n'est pas défini par défaut. !a est vrai, !!a est faux, donc la valeur de b est fausse, pas indéfinie ou d'autres valeurs, principalement pour faciliter les jugements ultérieurs.
Étant donné que JavaScript est un langage faiblement typé (les variables n'ont pas de type de données fixe), il doit parfois être converti en type correspondant, similaire à :
a=parseInt(“1234″) a=”1234″-0 //转换为数字 b=1234+”” //转换为字符串 c=someObject.toString() //将对象转换为字符串
Parmi eux, le premier et le 4 sont des conversions explicites, 2 et 3 sont des conversions implicites
Conversion booléenne, les règles de la convention JavaScript sont
faux, indéfini, nul, 0," " est faux
vrai, 1, "somestring", [Object] est vrai
pour null et indéfini Pour les autres valeurs implicitement converties, l'utilisation de l'opérateur ! produira un résultat vrai, le but de l'utilisation de deux points d'exclamation est donc de convertir ces valeurs en valeurs booléennes "équivalentes"
var foo; alert(!foo);//undifined情况下,一个感叹号返回的是true; alert(!goo);//null情况下,一个感叹号返回的也是true; var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false; alert(test);
Cet exemple le démontre ; que lorsqu'il n'est pas modifié et est nul, l'utilisation d'un point d'exclamation renvoie vrai, l'utilisation de deux points d'exclamation renvoie faux, donc le rôle de deux points d'exclamation est celui si la valeur de la variable (non nulle) est explicitement définie /undified/0/"" et d'autres valeurs), le résultat sera renvoyé en fonction de la valeur réelle de la variable. Si elle n'est pas définie, le résultat retournera faux.
"!!" en JS
var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false; alert(test);
Puisque l'opérateur ! produira un vrai résultat lorsqu'il est utilisé sur null et indéfini,
Donc, le but de l'utilisation de deux points d'exclamation est que,
Si la valeur du drapeau dans o est explicitement définie (et non null/undefined/0""/etc.), le test prendra naturellement La même valeur que o.flag ;
S'il n'est pas défini, le test sera par défaut false au lieu de null ou non défini.
J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.
Articles associés :
Comment implémenter le mode singleton à l'aide d'ES6
Comment créer un processus enfant à l'aide de node.js (tutoriel détaillé )
Comment utiliser le curseur pour définir les valeurs des données dans le mini-programme WeChat
Comment implémenter le menu inférieur contextuel dans WeChat mini programme
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!