Vous n'avez pas besoin d'une fonction pour cela - utilisez simplement la fonction notation entre crochets :
var side = columns['right'];
Cette valeur est égale à notation par points , var side = columns.right;
sauf le fait que right
peut également provenir d'une variable, de la valeur de retour d'une fonction, etc., lorsqu'on utilise la notation entre crochets.
Si vous avez besoin d'une fonction pour cela, la voici :
function read_prop(obj, prop) {
return obj[prop];
}
Pour répondre à certains des commentaires ci-dessous qui ne sont pas directement liés à la question initiale, les objets imbriqués peuvent être référencés par plusieurs parenthèses. Si vous avez un objet imbriqué comme ceci :
var foo = { a: 1, b: 2, c: {x: 999, y:998, z: 997}};
vous pouvez accéder aux biens x
de c
comme suit :
var cx = foo['c']['x']
Si une propriété n'est pas définie, la tentative de la référencer renverra le message suivant undefined
(pas null
o false
):
foo['c']['q'] === null
// returns false
foo['c']['q'] === false
// returns false
foo['c']['q'] === undefined
// returns true