Javascript insere variáveis em um local específico em uma string

Qual é o melhor método para pegar uma string de 'modelo' e inserir informações nela.

Por exemplo:

var templateString = "Hello {name1}, my name is {name2}";
var name1 = "Phil";
var name2 = "Amy";

Haveria um nome fácil para inserir os valores onde está o nome da variável entre chaves? Eu preciso que isso funcione não apenas para este exemplo (portanto, fazê-lo por um índice fixo não é uma opção), mas para qualquer sequência de modelo e número de variáveis.

questionAnswers(4)

yourAnswerToTheQuestion