Heim >Web-Frontend >js-Tutorial >Detaillierte Interpretation des !!-Symbolproblems in JS
!! 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!