!! Généralement utilisé pour forcer l'expression suivante dans des données de type booléen (booléen), c'est-à-dire qu'elle ne peut être que vraie ou fausse
Je vois souvent des exemples comme celui-ci :
!! 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
Étant donné que JavaScript est un langage faiblement typé (les variables n'ont pas de type de données fixe), il est parfois nécessaire de le convertir en type correspondant, comme :
a=parseInt(“1234″) a=”1234″-0 //转换为数字 b=1234+”” //转换为字符串 c=someObject.toString() //将对象转换为字符串
Les types 1 et 4 sont des conversions explicites, et les types 2 et 3 sont des conversions implicites
Conversion booléenne, la convention JavaScript est
faux, indéfini, nul, 0, "" sont faux
true, 1, "somestring", [Object] est vrai
Pour d'autres valeurs converties implicitement telles que null et indéfinies, 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 :
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);