Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Interpretation des !!-Symbolproblems in JS

Detaillierte Interpretation des !!-Symbolproblems in JS

亚连
亚连Original
2018-06-22 13:51:082089Durchsuche

!! Wird im Allgemeinen verwendet, um den folgenden Ausdruck auf boolesche Daten (boolean) zu zwingen, d. h. er kann nur wahr oder falsch sein. Schauen wir uns das !! in JS an, das Ihnen in diesem Artikel vorgestellt wurde.

Es wird im Allgemeinen verwendet, um die folgenden Ausdrücke in boolesche Daten umzuwandeln. das heißt: Kann nur wahr oder falsch sein.

var a;
var b=!!a;

a ist standardmäßig undefiniert. !a ist wahr, !!a ist falsch, daher ist der Wert von b falsch, nicht undefiniert oder andere Werte, hauptsächlich um spätere Urteile zu erleichtern.

Da JavaScript eine schwach typisierte Sprache ist (Variablen haben keinen festen Datentyp), muss sie manchmal in den entsprechenden Typ umgewandelt werden, ähnlich wie:

a=parseInt(“1234″)
a=”1234″-0 //转换为数字
b=1234+”” //转换为字符串
c=someObject.toString() //将对象转换为字符串

Der erste und vierte Typ sind explizit Konvertierung, 2 und 3 sind implizite Konvertierungen

Boolesche Konvertierung und die JavaScript-Konventionsregeln sind

false, undefiniert, null, 0, "" sind falsch

true, 1. „somestring“, [Object] ist true

für null und undefiniert und andere. Bei Verwendung implizit konvertiert Bei Werten erzeugt der !-Operator ein wahres Ergebnis. Die Funktion der Verwendung von zwei Ausrufezeichen besteht also darin, diese Werte in „äquivalente“ boolesche Werte umzuwandeln.

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);

Dieses Beispiel zeigt, dass Die Verwendung eines Ausrufezeichens gibt true zurück, die Verwendung von zwei Ausrufezeichen gibt false zurück. Die Rolle von zwei Ausrufezeichen besteht also darin, dass das Ergebnis so ist, wenn der Wert der Variablen explizit festgelegt wird (nicht null/undiffed/0 /" "gleicher Wert). Wird basierend auf dem tatsächlichen Wert der Variablen zurückgegeben. Wenn er nicht festgelegt ist, wird das Ergebnis „false“ zurückgegeben.

"!!" in JS

var o={flag:true}; 
 var test=!!o.flag;//等效于var test=o.flag||false; alert(test);

Weil der !-Operator ein echtes Ergebnis liefert, wenn er auf null und undefiniert verwendet wird,

Der Zweck der Verwendung von zwei Ausrufezeichen besteht also darin,

Wenn der Wert des Flags in o explizit festgelegt ist (nicht null/undefiniert/0""/etc.), folgt der Test natürlich auf o Derselbe Wert wie .flag;

Wenn nicht festgelegt, wird der Test standardmäßig auf „false“ gesetzt, nicht auf null oder undefiniert.

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

So implementieren Sie den Singleton-Modus mit ES6

So erstellen Sie einen untergeordneten Prozess mit node.js (ausführliches Tutorial). )

So verwenden Sie den Schieberegler, um Datenwerte im WeChat Mini-Programm festzulegen

So implementieren Sie das Popup-Menü unten in WeChat Mini Programm

Das obige ist der detaillierte Inhalt vonDetaillierte Interpretation des !!-Symbolproblems in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn