Leyendo algunos artículos de GraphQL con Apollo vi una sintaxis que me llamó la atención e incluso pensé que era un error. Luego leí otro artículo que explicaba justamente eso, y es lo que vengo a compartir: cómo llamar a una función sin usar paréntesis en el lenguaje de programación JavaScript
Esto tiene que ver con las backticks en JavaScript, o las llamadas plantillas de cadena. La magia que ofrecen va más allá de ofrecernos una simple concatenación sin usar operadores, además de un código más legible.
Lo que pasa es que estas string templates en JavaScript nos permiten llamar a una función sin usar paréntesis.
Bueno, sabemos que llamamos a una función así:
funcion();
O en caso de querer guardar el resultado, así:
let resultado = funcion();
También podemos llamarla con argumentos:
let resultado = funcion(miArgumento);
O con argumentos sin guardar el resultado:
funcion(miArgumento);
Pues con las template strings o backticks todo esto cambia. Podemos llamar a una función sin usar paréntesis.
Es casi como llamar a una función normal, pero no le ponemos paréntesis y en su lugar ponemos una template string. Vamos a definir esta función que te saluda:
const saludar = nombre => {alert("Hola " + nombre);}
Si no entiendes la sintaxis recomiendo leer: Funciones flecha en JavaScript
A esa función, normalmente la podemos llamar así:
saludar("Luis");
Pero oh sí, también así:
saludar`Luis`;
Ahí no usamos paréntesis. También podemos dejar un espacio entre la función y la template string:
saludar `Luis`;
Pero si creemos que es una simple cadena y que incluso así funcionará estamos equivocados, porque si le pasamos una simple cadena así:
saludar"Luis";
Esto sucede:
Dentro de nuestra función también podemos leer los valores de la plantilla de cadena, los que son como ${valor}
Vamos a crear esta función cuyos parámetros serán un arreglo y muchos valores (una función con infinitos argumentos):
const leer = (cadenas, ...valores) => { console.log("Las cadenas son: ", cadenas); console.log("Los valores son: ", valores); }
Ahora llamemos a esa función con un template string como argumento:
leer`Hola mundo, saben cuánto es 10 + 1? Es ${10 + 1}. Y 2 elevado a la 31 es ${2 ** 31}`;
Con el siguiente resultado:
Como vemos, cada cadena que está separada por un ${} forma parte del arreglo del primer argumento. Y todos los resultados de las expresiones que estén entre ${} forman parte del segundo argumento.
Así podemos traer más poder al combinar estas funciones y las string templates.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.