Como criar uma propriedade de objeto a partir de um valor variável em JavaScript? [duplicado]

Esta pergunta já tem uma resposta aqui:

Adicionar uma propriedade a um objeto JavaScript usando uma variável como o nome? 11 respostas

Quero adicionar uma nova propriedade ao 'myObj', nomeie-a 'string1' e atribua-lhe o valor de 'string2', mas, quando o faço, retorna 'undefined:

var myObj = new Object;
var a = 'string1';
var b = 'string2';
myObj.a = b;

alert(myObj.string1); //Returns 'undefined'
alert(myObj.a); //Returns 'string2'

Em outras palavras: como criar uma propriedade de objeto e fornecer o nome armazenado na variável, mas não o nome da variável em si?

questionAnswers(9)

yourAnswerToTheQuestion