paint-brush
Comprender las funciones de primera clase y de orden superiorpor@iggy
3,570 lecturas
3,570 lecturas

Comprender las funciones de primera clase y de orden superior

por Ignatius Sani3m2022/11/13
Read on Terminal Reader

Demasiado Largo; Para Leer

Una función de primera clase es una característica que tiene un lenguaje de programación o un lenguaje de programación, es una función que recibe otra función como argumento. La principal diferencia entre las funciones de orden superior es que se llama a una función después de haberla llamado después de la ejecución. En Javascript, podemos almacenar una función en una variable o incluso en una propiedad, como lo haría con los valores promedio de Javascript. Esto abre una nueva forma de escribir código más flexible ya que podemos. almacenar funciones en a. variable o añadir propiedades.
featured image - Comprender las funciones de primera clase y de orden superior
Ignatius Sani HackerNoon profile picture


¡Hola a todos! Hoy voy a discutir un concepto muy famoso en programación (funciones de primera clase). Ya hay tantos recursos sobre este tema, pero todavía hay algo nuevo que aprender de este artículo, y me he tomado el tiempo para simplificar las cosas para una mejor comprensión.


¿Por qué es esto importante para mí como desarrollador?

  • Le ayuda a tener una mejor comprensión de las funciones de devolución de llamada de Javascript cuando las ve en uso.
  • Te ayuda a conocer el comportamiento de tu código.
  • Le brinda una mejor comprensión de por qué Javascript trata las funciones como valores.


¿Qué es una función de primera clase?

Según Wikipedia, se dice que un lenguaje de programación tiene funciones de primera clase si trata las funciones como ciudadanos de primera clase .


Esto significa que el lenguaje admite pasar funciones como argumentos a otras funciones, devolviéndolas como valores de diferentes funciones, asignándolas a variables o almacenándolas en estructuras de datos.


En Javascript, las cosas funcionan de esta manera porque una función es solo otro tipo de objeto. Si eres nuevo en este concepto, sentirás que es bastante incómodo, especialmente si vienes de un entorno de programación diferente, pero por ahora, piensa en eso. Dado que los objetos son valores, las funciones también lo son, y Javascript los trata como uno solo. Esto abre una nueva forma de escribir código más flexible ya que podemos almacenar funciones en una variable o agregar propiedades.

He desglosado los puntos principales en una lista de viñetas para facilitar las cosas. Para comprender mejor las funciones de primera clase, aquí hay algunos puntos para aclararlo.


  • Funciones como argumento
  • Funciones que devuelven funciones
  • Funciones como valores

Funciones como argumento

Una cosa que se hace posible con una función de primera clase es pasar una función como argumento; podemos ver este estilo de código en mucho código Javascript. Por ejemplo, el método addEventListener, que recibe una función de devolución de llamada de Javascript como argumento, por ejemplo


 button.addEventListener('click', function(){ console.log('hellloooo') })


En el fragmento de código anterior, observamos que addEventListener recibe dos argumentos, donde la segunda función es la función de devolución de llamada y se llamaría después de hacer clic en el botón.


Funciones que devuelven funciones

Podemos devolver funciones desde otra función en Javascript; muchos objetos en Javascript tienen métodos, por ejemplo, funciones de matriz en javascript. Además, tenemos el método de la función, por ejemplo, los métodos Javascript call() , bind() , apply() se pueden llamar en las funciones Javascript.


 function count(){ Let counter = 0; return function(){ counter++ } }


La función de conteo devolvió otra función donde actualizamos el contador.


Funciones como valores

En Javascript, podemos almacenar una función en una variable o incluso en una propiedad, como lo haría con los valores promedio de Javascript.


 Const multiply = (a,b) => a * b


La función de flecha de Javascript anterior se almacena en la variable de multiplicación, que se puede llamar

multiplica(3,5) de esta manera.


Importancia de las funciones de primera clase en Javascript

Uno de los principales significados de las funciones de primera clase es que nos permiten escribir funciones de orden superior.



Función de orden superior

Esta es una función que recibe otra función como argumento o una función que devuelve una nueva función. Esto solo es posible debido a la función de primera clase.


 button.addEventListener('click', function(){ console.log('hellloooo') })


Aquí addEventListener() es un ejemplo de una función de orden superior porque recibe otra función como argumento. A menudo se refiere a una función de devolución de llamada de Javascript porque se ha llamado después de que se haya ejecutado HOF. La principal diferencia entre las funciones de orden superior y de primera clase es que una función de primera clase es una característica que un lenguaje de programación tiene o no tiene, simplemente significa que todas las funciones son valores.


Conclusión

En conclusión, es fundamental saber que no existe una función de primera clase en la práctica; es solo un concepto. Sin embargo, existen funciones de orden superior en la práctica que son posibles porque el lenguaje admite funciones de primera clase.