String.Format en JavaScript
En los lenguajes C# y VB.NET encontramos una ingeniosa función que nos permite "armar" una cadena como plantilla (un string con marcadores de posición o indices específicos) y a esa cadena enviarle unos parámetros que reemplazan cada una de los marcadores de posición.
Ejemplo de String.Format en C#
string nombre = "edwin"; string saludo = string.Format("Hola {0}. Bienvenido", nombre);
Al imprimir la variable saludo obtenemos:
Hola edwin. Bienvenido
JavaScript no tiene el método string.Format u otra función para realizar la misma tarea, pero podemos crear una que nos permita hacerlo casi de la misma manera.
Ejemplo para hacer String.Format en JavaScript
<script type="text/javascript"> // Esta es la función. String.prototype.format = function (args) { var str = this; return str.replace(String.prototype.format.regex, function(item) { var intVal = parseInt(item.substring(1, item.length - 1)); var replace; if (intVal >= 0) { replace = args[intVal]; } else if (intVal === -1) { replace = "{"; } else if (intVal === -2) { replace = "}"; } else { replace = ""; } return replace; }); }; String.prototype.format.regex = new RegExp("{-?[0-9]+}", "g"); </script>Y lo usas de la siguiente manera
var str = "Hola {0}. Bienvenido"; str = str.format(["edwin"]); alert(str);