Maison > interface Web > js tutoriel > Comment la boucle « for...in » de JavaScript parcourt-elle réellement les propriétés de l'objet ?

Comment la boucle « for...in » de JavaScript parcourt-elle réellement les propriétés de l'objet ?

Patricia Arquette
Libérer: 2024-12-24 05:51:11
original
134 Les gens l'ont consulté

How Does JavaScript's `for...in` Loop Actually Iterate Through Object Properties?

Itération à travers les propriétés d'un objet

En JavaScript, la boucle for...in peut parcourir les propriétés d'un objet. Cependant, il est important de comprendre comment la variable de boucle propt représente ces propriétés.

Au départ, il peut sembler déroutant que propt ne soit pas une méthode ou une propriété intégrée des objets. Au lieu de cela, il s'agit d'une variable à laquelle chaque nom de propriété est attribué lors de l'itération de la boucle.

La boucle parcourt les clés de l'objet, qui sont toujours des chaînes. Cela inclut les propriétés héritées de la chaîne de prototypes de l'objet, ainsi que les propriétés personnalisées définies sur l'objet lui-même.

Pour éviter les problèmes avec les propriétés héritées, il est recommandé d'utiliser la méthode hasOwnProperty pour faire la distinction entre les propriétés personnalisées et les propriétés héritées :

for (var prop in obj) {
    if (Object.prototype.hasOwnProperty.call(obj, prop)) {
        // Do stuff with custom property prop
    }
}
Copier après la connexion

Cela garantit que seules les propriétés personnalisées sont itérées. De plus, vous pouvez appeler hasOwnProperty directement via l'objet lui-même, mais il est plus sûr d'utiliser la version Object.prototype pour éviter les conflits potentiels avec des propriétés personnalisées portant le même nom.

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