Llamar o Devolver

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos sobre la función callOrReturn, que es una función de utilidad útil en JavaScript. Esta función se puede utilizar para determinar si el argumento dado es una función o no. Si el argumento es una función, se llamará con el resto de los argumentos. De lo contrario, simplemente devolverá el argumento dado. Al final de este laboratorio, serás capaz de utilizar esta función para simplificar tu código y mejorar su legibilidad.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28186{{"Llamar o Devolver"}} javascript/data_types -.-> lab-28186{{"Llamar o Devolver"}} javascript/arith_ops -.-> lab-28186{{"Llamar o Devolver"}} javascript/comp_ops -.-> lab-28186{{"Llamar o Devolver"}} javascript/spread_rest -.-> lab-28186{{"Llamar o Devolver"}} end

Una Función que Llama o Devuelve Otra Función

Para comenzar a practicar la codificación, abre la Terminal/SSH y escribe node.

Aquí hay una función llamada callOrReturn que toma un argumento y lo llama si es una función, de lo contrario, lo devuelve. Aquí está cómo funciona:

  • La función toma dos parámetros: fn y ...args. fn es el argumento que se va a comprobar, y ...args es la lista de argumentos que se pasarán a la función si se llama a ésta.
  • Utiliza el operador typeof para comprobar si el argumento dado es una función.
  • Si el argumento es en efecto una función, la llama utilizando el operador de propagación (...) para pasar el resto de los argumentos dados. De lo contrario, simplemente devuelve el argumento.
  • Aquí hay un ejemplo de cómo utilizar la función callOrReturn:
const callOrReturn = (fn, ...args) =>
  typeof fn === "function" ? fn(...args) : fn;

callOrReturn((x) => x + 1, 1); // 2
callOrReturn(1, 1); // 1

En el primer ejemplo, callOrReturn(x => x + 1, 1) llama a la función x => x + 1 con el argumento 1, lo que devuelve 2. En el segundo ejemplo, callOrReturn(1, 1) simplemente devuelve 1 ya que no es una función.

Resumen

¡Felicitaciones! Has completado el laboratorio de Llamar o Devolver. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.