How to get value in an object's key using a variable referencing that key?

I have an object and I can reference key a as in the following:

var obj = {
   a: "A",
   b: "B",
   c: "C"
}

console.log(obj.a); // return string : A

I want to get the value by using a variable to reference the object key as below:

var name = "a";
console.log(obj.name) // this prints undefined, but I want it to print "A"

How can I do this?


Use [] notation for string representations of properties:

console.log(obj[name]);

Otherwise it's looking for the "name" property, rather than the "a" property.


obj["a"] is equivalent to obj.a so use obj[name] you get "A"


Use this syntax:

obj[name]

Note that obj.x is the same as obj["x"] for all valid JS identifiers, but the latter form accepts all string as keys (not just valid identifiers).

obj["Hey, this is ... neat?"] = 42