Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum gibt „0 in [1, 2]' in JavaScript „True' zurück?

Patricia Arquette
Freigeben: 2024-10-30 07:05:27
Original
711 Leute haben es durchsucht

Why Does

Anomalie des „In“-Operators: Warum der Test „True“ für „0“ zurückgibt, wenn das Array nicht „0“ enthält

Der „in Der Operator „in JavaScript bietet eine Möglichkeit zu überprüfen, ob eine Eigenschaft in einem Objekt oder ein Element in einem Array vorhanden ist. Beim Testen auf ein Element in einem Array könnte man erwarten, dass der „in“-Operator nur dann „true“ zurückgibt, wenn das Array ein Element mit genau diesem Wert enthält. Beim Testen auf „0“ in einem Array verhält sich der „in“-Operator jedoch scheinbar unerwartet.

Betrachten Sie das folgende Beispiel:

<code class="javascript">var x = [1, 2];
0 in x;</code>
Nach dem Login kopieren

Dies gibt jedoch „true“ zurück Das Array x enthält nicht den Wert „0“. Der Grund für dieses scheinbar paradoxe Verhalten liegt in der Natur des „in“-Operators.

Den „in“-Operator verstehen

Der „in“-Operator testet, ob a Eigenschaft oder Element existiert in einem Objekt oder Array. Es ist jedoch wichtig zu betonen, dass der Operator das Vorhandensein der Eigenschaft oder des Elements prüft, nicht unbedingt das Vorhandensein eines bestimmten Werts.

Bei Arrays überprüft der „in“-Operator, ob ein bestimmter Index vorhanden ist existiert innerhalb des Arrays, nicht wenn ein Element mit einem bestimmten Wert an diesem Index vorhanden ist. Das bedeutet, dass beim Testen auf „0“ in einem Array geprüft wird, ob ein Element am Index 0 vorhanden ist, unabhängig vom Wert dieses Elements.

Anwendung auf das Beispiel

In unserem Beispielarray x testet der Operator „0“, ob ein Element am Index 0 vorhanden ist. Da Arrays in JavaScript nullindiziert sind, ist Index 0 ein gültiger Index für ein Array mit zwei Elementen. Daher gibt der „in“-Operator „true“ zurück, auch wenn im Array kein Element mit dem Wert „0“ vorhanden ist.

Key Takeaway

Der „in „Das Verhalten des Betreibers kann verwirrend sein, wenn man seinen Zweck falsch versteht. Dabei wird nicht auf das Vorhandensein eines bestimmten Werts geprüft, sondern auf das Vorhandensein eines Elements oder einer Eigenschaft an einem bestimmten Index oder Schlüssel. Dies kann zu unerwarteten Ergebnissen führen, wenn nach Werten wie „0“ gesucht wird, die oft eine besondere Bedeutung als Index oder Schlüsselpositionen haben.

Das obige ist der detaillierte Inhalt vonWarum gibt „0 in [1, 2]' in JavaScript „True' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!