Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

149
Vistas
¿Podemos usar variable como una función?

Estoy aprendiendo Asignación de desestructuración en JS y encontré este código que no entiendo.
No es la mitad de una variable, ¿por qué podríamos usarla como una función y pasar un argumento en console.log?
¿Cómo se vería si escribimos el mismo código de una manera básica?
¡Gracias!

 const stats = { max: 56.78, min: -0.75 }; const half = ({max,min}) => (max+min)/2.0; console.log(half(stats)); 

 const stats = { max: 56.78, min: -0.75 }; const half = ({max,min}) => (max+min)/2.0; console.log(half(stats));

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

JavaScript le permite utilizar la definición de funciones y la asignación de funciones.

 function myFunction() {}

Además de esto, también puede asignar su función a otra variable (como un alias)

 const myAlias = myFunction

También puede definir todo esto en una línea

 const myAlias = function myFunction() {}

Como le gustaría reasignar/cambiar el nombre de su función, puede definir una función anonymous (omitir el nombre de la función) y asignarla a una variable

 const myAlias = () => {}
about 4 years ago · Juan Pablo Isaza Denunciar

0

En primer lugar, en las functions de JavaScript hay Object que implementan la interfaz [[runnable]] . Al igual que con cualquier otro objeto, esto se puede asignar a una variable, pasar como un argumento a otras funciones, etc. Este último se conoce comúnmente como function de JavaScript que son ciudadanos de primera clase :

En el diseño de lenguajes de programación, un ciudadano de primera [...] clase en un lenguaje de programación dado es una entidad que soporta todas las operaciones generalmente disponibles para otras entidades. Estas operaciones normalmente incluyen que se pasen como un argumento, se devuelvan desde una función y se asignen a una variable .

JavaScript tiene el concepto de funciones con nombre , pero esta función no está disponible para las funciones de "flecha" de ES6 (como la que está mostrando).

Por lo tanto, la única forma de dar un nombre a una función de flecha anónima (y, por lo tanto, hacer que esté disponible para llamarla más tarde) es asignar (siempre) funciones de flecha anónimas a una variable, que luego actúa como un puntero a esa función anónima.

Eso es exactamente lo que está sucediendo en su línea.

 const half = ({max,min}) => (max+min)/2.0; // ^^^ variable ^^^ anonymous arrow function

También tenga en cuenta que solo las funciones de flecha permiten omitir la palabra clave de return y los marcadores de bloque {} a su alrededor, si todo lo que sigue es una sola expresión.

Con las funciones "antiguas" de ES5, podría declarar directamente una función con nombre:

 const stats = { max: 56.78, min: -0.75 }; console.log(half(stats)); // ES 5 function declarations are "hoisted" // meaning you can call them in your code before // declaring the function function half({max,min}) { return (max+min)/2; }

Tenga en cuenta también que, en comparación con su código, existen pequeñas diferencias técnicas adicionales. Las declaraciones de funciones de ES5 con nombre se elevan, lo que significa que el intérprete de JS las coloca directamente en la parte superior de su código, lo que hace que la función esté disponible para llamar incluso antes de declararla.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Sí, puede almacenar funciones como variables en JS.

 // Arrow style const myFunction = () => { console.log('hi!') }; // 'Function' keyword style const anotherFunction = function() { console.log('hi!') };

Tenga en cuenta que esto funcionará de manera diferente a una función común basada en la ubicación del código debido a hositing. var nombrefunción = función() {} vs función nombrefunción() {}

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda