Maison  >  Article  >  interface Web  >  Un exemple du rôle du double point d'exclamation (!!) dans les compétences JavaScript_javascript

Un exemple du rôle du double point d'exclamation (!!) dans les compétences JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 16:53:021028parcourir

On voit souvent des exemples comme celui-ci : 

Copier le code Le code est le suivant :

var a;
var b=!!a

a est par défaut indéfini. !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.

!! 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
Parce que JavaScript est un langage faiblement typé (les variables ne sont pas des données fixes ; type), il est donc parfois nécessaire de le convertir en type correspondant, similaire à :
Copier le code Le code est le suivant :

a=parseInt(“1234″)
a=”1234″-0 //Convertir en nombre
b=1234 ”” //Convertir en chaîne
c= someObject.toString() //Convertir l'objet en chaîne

Les premier et quatrième types sont des conversions explicites, et les deuxième et troisième types sont des conversions implicites

Conversion booléenne, la Les règles de la convention JavaScript sont

faux, indéfini, nul, 0, "" est faux
vrai, 1, "somestring", [Object] est vrai

pour nul et indéfini, etc. . Pour les autres valeurs implicitement converties, l'utilisation de l'opérateur ! produira un résultat vrai, donc le but de l'utilisation de deux points d'exclamation est de convertir ces valeurs en valeurs booléennes "équivalentes"
Regardons à nouveau :
Copier le code Le code est le suivant :

var foo
alert(!foo) ;// Dans le cas non défini, un point d'exclamation renvoie true;
alert(!goo);//Dans le cas nul, un point d'exclamation renvoie également true;
var o={flag:true}; 🎜>var test =!!o.flag;//Équivalent à var test=o.flag||false;
alert(test);

Cet exemple montre quand undiffed et null , l'utilisation d'un point d'exclamation renverra vrai, l'utilisation de deux points d'exclamation renverra faux, donc le rôle de deux points d'exclamation est que si la valeur de la variable est explicitement définie (pas null/undified/0/"" et d'autres valeurs), le résultat Il sera renvoyé en fonction de la valeur réelle de la variable. S'il n'est pas défini, le résultat sera faux.
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn