In JavaScript ist der Identitätsoperator „===", der verwendet wird, um zu vergleichen, ob die Operanden auf beiden Seiten der Gleichung gleich sind. Während des Vergleichsvorgangs vergleicht „===“ nicht nur, ob die Werte der beiden Operanden gleich sind, sondern prüft auch, ob ihre Typen gleich sind, solange die Werte gleich sind und die Typen gleich sind , true wird zurückgegeben.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
In JavaScript ist der Identitätsoperator „===", der verwendet wird, um zu vergleichen, ob die Operanden auf beiden Seiten der Gleichung gleich sind.
Bei der Durchführung einer Vergleichsoperation vergleicht der Operator „===“ nicht nur, ob die Werte der beiden Operanden gleich sind, sondern prüft auch, ob ihre Typen gleich sind.
Bei Identitätsoperationen sollten Sie auf folgende Punkte achten:
Wenn beide Operanden einfache Werte sind, dann sind sie kongruent, solange die Werte gleich und die Typen gleich sind.
Wenn ein Operand ein einfacher Wert und der andere Operand ein zusammengesetztes Objekt ist, sind sie nicht kongruent.
Wenn beide Operanden zusammengesetzte Objekte sind, vergleichen Sie, ob die Referenzadressen gleich sind.
(1) Wenn die Typen unterschiedlich sind, dürfen sie nicht gleich sein
(2) Wenn beide numerische Werte sind und den gleichen Wert haben, dann sind sie gleich, wenn mindestens einer von ihnen NaN ist , dann sind sie nicht gleich. (Um festzustellen, ob ein Wert NaN ist, können Sie ihn nur mit isNaN() ermitteln.)
(3) Wenn es sich bei beiden um Zeichenfolgen handelt und die Zeichen an jeder Position gleich sind, dann sind sie gleich, andernfalls sind sie nicht gleich.
(4) Wenn beide Werte wahr oder falsch sind, dann sind sie gleich
(5) Wenn sich beide Werte auf dasselbe Objekt oder dieselbe Funktion beziehen, dann sind sie gleich, andernfalls sind sie nicht gleich
( 6) Wenn beide Werte Null oder undefiniert sind, dann sind sie gleich
Beispiel 1
Das Folgende ist ein kongruenter Vergleich spezieller Operanden.
console.log(null === undefined); //返回false console.log(0 === "0"); //返回false console.log(0 === false); //返回false
Beispiel 2
Das Folgende ist ein Vergleich zweier Objekte, der „true“ zurückgibt, da beide auf dieselbe Adresse verweisen.
var a = {}; var b = a; console.log(a === b); //返回true
Obwohl die folgenden beiden Objekte die gleiche Struktur haben, haben sie unterschiedliche Adressen und sind daher nicht deckungsgleich.
var a = {}; var b = {}; console.log(a === b); //返回false
Beispiel 3
Bei zusammengesetzten Objekten wird hauptsächlich die Adresse der Referenz verglichen, der Wert des Objekts wird jedoch nicht verglichen.
var a = new String("abcd); //定义字符串“abcd”对象 var b = new String("abcd); //定义字符串“abcd”对象 console.log(a === b); //返回false console.log(a == b); //返回false
Im obigen Beispiel sind die Werte der beiden Objekte gleich, aber die Referenzadressen sind unterschiedlich, sodass sie weder warten wollen noch gleich sind. Daher sind für zusammengesetzte Objekte die Ergebnisse der Operationen Gleichheit == und Kongruenz === gleich.
Beispiel 4
Bei einfachen Werten sind sie kongruent, solange sie denselben Typ und gleiche Werte haben, unabhängig von den Prozessänderungen der Ausdrucksoperation oder der Referenzadresse der Variablen.
var a = "1" + 1; var b = "11"; console.log(a ===b); //返回true
Beispiel 5
Der Ausdruck (a>b || a==b) ist nicht genau gleich dem Ausdruck (a>=b).
var a = 1; var b = 2; console.log((a > b || a == b) == (a >= b)); //返回true,此时似乎相等
Wenn den Variablen a und b null und undefiniert zugewiesen werden, wird der Wert false zurückgegeben, was darauf hinweist, dass die beiden Ausdrücke nicht vollständig äquivalent sind.
var a = null; var b = undefined; console.log((a > b || a == b) == (a >= b)); //返回false,表达式的值并非相等
Da null == undefiniert gleich wahr ist, ist der Rückgabewert des Ausdrucks (a > b || a == b) wahr, aber der Rückgabewert des Ausdrucks null >= undefiniert ist falsch.
【Verwandte Empfehlungen: Javascript-Lern-Tutorial】
Das obige ist der detaillierte Inhalt vonWas ist der Javascript-Identitätsoperator?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!