Maison >interface Web >js tutoriel >Comment puis-je accéder aux propriétés des objets JavaScript à l'aide de noms de chaînes ?

Comment puis-je accéder aux propriétés des objets JavaScript à l'aide de noms de chaînes ?

DDD
DDDoriginal
2024-12-17 06:49:25863parcourir

How Can I Access JavaScript Object Properties Using String Names?

Objet JavaScript : accès aux propriétés de variable à l'aide des noms de propriétés de chaîne

En JavaScript, il est possible de récupérer la valeur d'une propriété d'objet en utilisant son nom comme chaîne. Cette approche est souvent utile lorsque vous travaillez avec des noms de propriétés dynamiques ou lorsque vous traitez des objets imbriqués dont les noms de propriétés ne sont pas connus au moment de la compilation.

Pour accéder à une propriété d'objet en utilisant son nom sous forme de chaîne, vous pouvez utiliser la notation entre crochets. :

var side = columns['right'];

Cette notation est équivalente à la notation par points :

var side = columns.right;

Cependant, la notation entre parenthèses est plus polyvalente, car elle vous permet de dynamiquement accéder aux propriétés en fonction de valeurs de variables ou de valeurs de retour de fonction :

var propertyName = 'left';
var propertyValue = columns[propertyName];

Si vous préférez utiliser une fonction pour accéder aux propriétés d'objet par nom de chaîne, voici une implémentation simple :

function read_prop(obj, prop) {
    return obj[prop];
}

Ceci La fonction prend un objet et un nom de propriété comme arguments et renvoie la valeur de la propriété correspondante.

Imbriqué Objets

Lorsque vous travaillez avec des objets imbriqués, vous pouvez accéder aux propriétés à l'aide de plusieurs jeux de crochets :

var foo = { a: 1, b: 2, c: { x: 999, y: 998, z: 997 } };
var cx = foo['c']['x'];

Propriétés non définies

Si une tentative est faite pour accéder à une propriété non définie, le résultat sera indéfini, ni nul ni faux :

foo['c']['q'] === null // returns false
foo['c']['q'] === false // returns false
foo['c']['q'] === undefined // returns true

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!

Déclaration:
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