Maison > interface Web > js tutoriel > Comment vérifier si une propriété existe dans un objet Javascript avec un nom de propriété dynamique ?

Comment vérifier si une propriété existe dans un objet Javascript avec un nom de propriété dynamique ?

Mary-Kate Olsen
Libérer: 2024-10-29 11:09:29
original
454 Les gens l'ont consulté

How do you Check if a Property Exists in a Javascript Object with a Dynamic Property Name?

Détermination de l'existence d'une propriété d'objet à l'aide d'un nom de propriété dynamique

Lorsque vous traitez des objets en JavaScript, il est souvent nécessaire de vérifier si une propriété spécifique existe. Cependant, si le nom de la propriété est stocké dans une variable, les méthodes conventionnelles peuvent ne pas fonctionner efficacement.

Dans l'extrait de code donné, le développeur tente de vérifier si l'objet myObj possède une propriété nommée « prop », mais le La variable myProp est mal définie avec une concaténation de chaînes. En conséquence, le code recherche une propriété 'myProp' inexistante.

Pour résoudre ce problème, plusieurs approches alternatives peuvent être utilisées :

1. Utilisation de hasOwnProperty()

La méthode hasOwnProperty() vérifie si la propriété spécifiée est directement définie dans l'objet (non héritée de son prototype).

<code class="js">var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    alert("yes, i have that property");
}</code>
Copier après la connexion

2. Utilisation de l'opérateur in

L'opérateur in vérifie si une propriété donnée existe dans un objet, qu'elle soit directement définie ou héritée.

<code class="js">var myProp = 'prop';
if(myProp in myObj){
    alert("yes, i have that property");
}</code>
Copier après la connexion

3. Vérification directe du nom de la propriété

Si le nom de la propriété est connu avec certitude, il peut être vérifié directement sans avoir besoin d'une variable.

<code class="js">if('prop' in myObj){
    alert("yes, i have that property");
}</code>
Copier après la connexion

Remarque : Le hasOwnProperty () ignore les propriétés héritées, tandis que l'opérateur in les inclut. Par conséquent, le choix de l'approche dépend de la pertinence des propriétés héritées pour le contrôle effectué.

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