O uso de String.Format em JavaScript?

Isso está me deixando louco. Acredito que fiz exatamente a mesma pergunta, mas não consigo mais encontrá-la (usei a pesquisa Stack Overflow, a Pesquisa do Google, procurei manualmente minhas postagens e procurei meu código).

Eu queria algo que seria como o C # String.Format onde você, poderia fazer algo como

string format = String.Format("Hi {0}",name);

apenas para JavaScript, é claro, e uma pessoa me deu uma resposta simples: não era como um plug-in jQuery nem nada, mas acho que você criou alguma coisa JSON ou algo assim, e funcionou e era simples de usar.

Eu, pela minha vida, não consigo encontrar este post.

Eu tenho isso no meu código, mas não consigo encontrar nada que o use e tenho certeza de que o usei algumas vezes:

String.prototype.format = function(o)
{
    return this.replace(/{([^{}]*)}/g,
       function(a, b)
       {
           var r = o[b];
           return typeof r === 'string' ? r : a;
       }
    );
};

questionAnswers(18)

yourAnswerToTheQuestion