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

234
Vistas
¿Qué es exactamente la expresión de una función?

Pensé antes que la expresión de función puede ser cualquier función que esté almacenada en alguna variable. Por ejemplo, esta es una expresión de función, porque la función se almacena en la variable func .

 let func = function() { console.log(5); };

Y aquí está la expresión de la función, porque la función de devolución de llamada se almacena en la callback de llamada del parámetro de función.

 function func(callback) { callback(); }; func(function() { console.log(5); }); //That's what I mean: //let callback = function() {...}

Pero... recientemente descubrí que esta función de devolución de llamada también se puede considerar como expresión de función. ¿Por qué? Esta función no se almacena en alguna variable.

 let arr = [18, 50]; let obj = { name: 'Karina', }; arr.forEach(function func(value) { console.log(`${this.name} is ${value} years old`); }, obj);

Entonces, mi pregunta es... ¿Qué es exactamente lo que hace que una función sea una expresión?

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

0

Pensé antes que la expresión de función puede ser cualquier función que esté almacenada en alguna variable.

No. La variable a almacenar no importa. La let func = …; no es parte de la expresión de la función, la expresión de la función es solo la parte (expresión) que viene en el medio.

 let func = function() { // ^^^^^^^^^^^^ console.log(5); //^^^^^^^^^^^^^^^^^^ }; //^

Esta función no se almacena en alguna variable.

En realidad, no hay diferencia entre el segundo y el tercer fragmento. Está pasando la función construida a partir de la expresión a una función, independientemente de cómo se declare esa función (con parámetros, con sintaxis de reposo, sin parámetros o como una función integrada como forEach ).

Pero sí, puedes tener expresiones de función completamente sin variables, como en

 !function() {…}(); // ^^^^^^^^^^^^^^ void function() {…}; // ^^^^^^^^^^^^^^ (function() {…})(); // ^^^^^^^^^^^^^^

Básicamente, las expresiones de función son solo la sintaxis literal (como en: literal de objeto, literal de cadena) para objetos de función.

about 4 years ago · Juan Pablo Isaza Denunciar

0

También estoy aprendiendo sobre programación funcional y descubrí que usar una función como valor es de hecho una expresión de función, como dijiste, al asignar una función anónima a una variable. Pero creo que la principal diferencia radica en que la declaración de la función se eleva, ¿verdad? Así que el contexto entra en juego y todas esas cosas divertidas :)

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