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 } }
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!