Maison > interface Web > js tutoriel > le corps du texte

Interprétation détaillée du problème du symbole !! en JS

亚连
Libérer: 2018-06-22 13:51:08
original
2133 Les gens l'ont consulté

!! 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;
Copier après la connexion

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() //将对象转换为字符串
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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!

Étiquettes associées:
js
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal