Maison > interface Web > js tutoriel > le corps du texte

Pourquoi \'0 in [1, 2]\' renvoie-t-il True en JavaScript ?

Patricia Arquette
Libérer: 2024-10-30 07:05:27
original
711 Les gens l'ont consulté

Why Does

Anomalie de l'opérateur "In" : pourquoi le test renvoie vrai pour "0" si le tableau ne contient pas "0"

Le "in L'opérateur " en JavaScript fournit un moyen de vérifier si une propriété existe dans un objet ou si un élément existe dans un tableau. Lors du test d'un élément dans un tableau, on peut s'attendre à ce que l'opérateur "in" renvoie vrai uniquement si le tableau contient un élément avec cette valeur exacte. Cependant, dans le cas du test de "0" dans un tableau, l'opérateur "in" se comporte apparemment de manière inattendue.

Considérez l'exemple suivant :

<code class="javascript">var x = [1, 2];
0 in x;</code>
Copier après la connexion

Cela renvoie vrai, même si le tableau x ne contient pas la valeur "0". La raison de ce comportement apparemment paradoxal réside dans la nature de l'opérateur "in".

Comprendre l'opérateur "in"

L'opérateur "in" teste si un une propriété ou un élément existe dans un objet ou un tableau. Cependant, il est important de souligner que l'opérateur vérifie l'existence de la propriété ou de l'élément, pas nécessairement la présence d'une valeur spécifique.

Dans le cas des tableaux, l'opérateur "in" vérifie si un index particulier existe dans le tableau, pas si un élément avec une valeur spécifique est présent à cet index. Cela signifie que tester "0" dans un tableau vérifie si un élément existe à l'index 0, quelle que soit la valeur de cet élément.

Application à l'exemple

Dans notre exemple de tableau x, l'opérateur "0" teste si un élément existe à l'index 0. Puisque les tableaux sont indexés à zéro en JavaScript, l'index 0 est un index valide pour un tableau avec deux éléments. Par conséquent, l'opérateur "in" renvoie vrai, même s'il n'y a aucun élément avec la valeur "0" présent dans le tableau.

À retenir

Le "in " Le comportement de l'opérateur peut prêter à confusion si l'on comprend mal son objectif. Il ne teste pas la présence d'une valeur spécifique mais plutôt l'existence d'un élément ou d'une propriété à un index ou une clé particulière. Cela peut conduire à des résultats inattendus lors de la vérification de valeurs telles que « 0 », qui ont souvent une signification particulière en tant qu'index ou positions clés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!