Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

146
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!