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.
En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…
Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…
En un post previo te enseñé a enviar un mensaje en nombre de un Bot…
En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
Esta web usa cookies.