JavaScript equivalente a Printf o String.Format

Tahseen Tauseef 12 octubre 2023
JavaScript equivalente a Printf o String.Format

Este artículo describirá las alternativas de printf o String.Format en JavaScript.

printf es una función que usamos en la mayoría de los lenguajes de programación como C, PHP y Java. Esta función de salida estándar le permite imprimir una cadena o una declaración en la consola.

Pero en JavaScript, no podemos usar printf, por lo que necesitamos sus alternativas, que discutiremos aquí. Aparte de eso, a veces usamos los especificadores de formato para personalizar el formato de salida.

Usando console.log() en JavaScript

Una opción aquí es usar console.log para imprimir algo en la consola. Esto estuvo disponible después de la actualización de ES6, y su funcionamiento es bastante familiar con el funcionamiento de printf.

console.log es muy fácil y ciertamente es el más común entre los desarrolladores. Veamos el siguiente segmento de código para comprender el funcionamiento de console.log en JavaScript.

function example() {
  let i = 5;
  console.log(i);
}
example();

Declaramos una variable usando la palabra clave let en este segmento de código y la imprimimos en la consola. Entonces, usamos console.log(i) para recuperar el valor de la variable i e imprimirlo en la pantalla de la consola.

Si queremos imprimir alguna cadena o algún texto aleatorio, podemos usar console.log de la siguiente forma:

function example() {
  console.log('Hello');
}
example();

En este segmento de código, como puede ver, usamos el console.log e ingresamos el texto que queríamos imprimir dentro del '. Es cómo imprimir elementos de texto normales usando console.log en JavaScript.

Esto demuestra que console.log es la alternativa más simple y fácil a printf. Pero si desea personalizar el formato de la salida, podemos crear un prototipo personalizado para crear la funcionalidad String.Format.

Podemos ver el siguiente segmento de código como ejemplo:

String.prototype.format = function() {
  var args = arguments;
  return this.replace(/{(\d+)}/g, function(match, number) {
    return typeof args[number] != 'undefined' ? args[number] : match;
  });
};
console.log(
    '{0} was used as placeholder, furthermore {1} is used as the second argument {0} {2}'
        .format('C language', 'C sharp'));

Hemos creado una función prototipo personalizada adjunta a cada objeto de cadena JavaScript en este segmento de código. Lo que hace la función de formato es que toma la cadena y busca {} y reemplaza el número dentro de ella con el argumento provisto en ese índice.

Así que {0} se reemplaza por C language y {1} se reemplaza por C sharp. Pero {2} permanece como está, ya que no hemos proporcionado ningún argumento para el marcador de posición {2}.

Y si proporciona el tercer argumento, el corchete {2} se reemplaza con el tercer argumento. Podría haberte ayudado a comprender la función personalizada String.prototype.format.

Artículo relacionado - JavaScript String