Heim  >  Artikel  >  Web-Frontend  >  Hinweise zur Javascript-Studie: Gleichheitssymbol und striktes Gleichheitssymbol

Hinweise zur Javascript-Studie: Gleichheitssymbol und striktes Gleichheitssymbol

PHPz
PHPzOriginal
2016-05-16 16:30:401727Durchsuche

In diesem Kapitel werden die Gleichheitssymbole und strikten Gleichheitssymbole in JavaScript ausführlich vorgestellt. Freunde in Not können sich darauf beziehen.

Javascript verfügt über zwei Methoden, um festzustellen, ob zwei Werte gleich sind.

Gleichheitssymbol

Das Gleichheitssymbol besteht aus zwei Gleichheitszeichen: ==
Javascript ist eine schwach typisierte Sprache. Das bedeutet, dass das Gleichheitssymbol den Typ umwandelt, um zwei Werte zu vergleichen.

""           ==   "0"           // false
0            ==   ""            // true
0            ==   "0"           // true
false        ==   "false"       // false
false        ==   "0"           // true
false        ==   undefined     // false
false        ==   null          // false
null         ==   undefined     // true
" \t\r\n"    ==   0             // true

Der obige Code zeigt das Ergebnis der Typkonvertierung, daher wissen wir, dass die Verwendung des Gleichheitssymbols == eine schlechte Programmiergewohnheit ist. Aufgrund des komplexen Typkonvertierungsmechanismus in Javascript wird es schwierig, die daraus resultierenden Fehler aufzuspüren.

Darüber hinaus hat die Typerzwingung auch einen gewissen Einfluss auf die Leistung. Wenn beispielsweise eine Zeichenfolge mit einer Zahl verglichen wird, wird sie in eine Zahl umgewandelt.

Symbol für strikte Gleichheit

Das Symbol für strikte Gleichheit besteht aus drei Gleichheitszeichen: ===
Es funktioniert ähnlich wie das Symbol für strikte Gleichheit, jedoch wie das Symbol für strikte Gleichheit führt keine erzwungene Typkonvertierung durch.

""           ===   "0"           // false
0            ===   ""            // false
0            ===   "0"           // false
false        ===   "false"       // false
false        ===   "0"           // false
false        ===   undefined     // false
false        ===   null          // false
null         ===   undefined     // false
" \t\r\n"    ===   0             // false

Der obige Code macht den Code klarer. Wenn die Typen der beiden Werte unterschiedlich sind, wird false direkt zurückgegeben, was auch die Leistung verbessert.

Vergleichen von Objekten

Obwohl == und === als Gleichheitssymbole bezeichnet werden, ist das Verhalten anders, wenn einer der beiden verglichenen Werte vom Typ Objekt ist Großer Unterschied.

{} === {};                   // false
new String('foo') === 'foo'; // false
new Number(10) === 10;       // false
var foo = {};
foo === foo;                 // true

Hier wird nicht mehr nur verglichen, ob die beiden Werte gleich sind, sondern es wird ermittelt, ob sich die beiden Werte auf dieselbe Objektinstanz beziehen, die sich eher wie Zeiger in C verhält.

Zusammenfassung

Es wird dringend empfohlen, nur das strikte Gleichheitssymbol === zu verwenden. Wenn wir eine Typkonvertierung durchführen müssen, können wir vor dem Vergleich eine explizite Typkonvertierung durchführen, anstatt uns auf die komplexe Cast-Methode von Javascript zu verlassen.

Das Obige ist der gesamte Inhalt dieses Kapitels. Weitere verwandte Tutorials finden Sie unter JavaScript-Video-Tutorial!

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