Heim >Web-Frontend >js-Tutorial >Warum gibt „0 in [1, 2]' in JavaScript „True' zurück?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 07:05:27793Durchsuche

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>

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!

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