¿Qué funciones existen en JavaScript?
sobes.tech AI
Respuesta de la IA
En JavaScript, existen los siguientes tipos de funciones:
-
Declaraciones de funciones (Function Declarations): Sintaxis básica para definir una función. Se elevan (hoisted) durante la compilación.
function sayHello() { // Cuerpo de la función console.log("¡Hola!"); } -
Expresiones de funciones (Function Expressions): Una función se asigna a una variable. No se elevan. Pueden ser nombradas o anónimas.
const greetUser = function(name) { // Cuerpo de la función console.log(`¡Hola, ${name}!`); }; -
Funciones flecha (Arrow Functions): Sintaxis más concisa introducida en ES6. Tienen comportamientos específicos con
this.const add = (a, b) => a + b; -
Métodos de objetos (Object Methods): Funciones definidas como propiedades de un objeto.
const user = { name: "Ivan", sayName: function() { console.log(this.name); } }; -
Funciones generadoras (Generator Functions): Funciones que pueden pausar y reanudar su ejecución usando
yield. Devuelven un iterador.function* counter() { let i = 0; while (true) { yield i++; } } -
Funciones asíncronas (Async Functions): Funciones que trabajan con promesas y permiten usar
awaitpara esperar la resolución de promesas.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Funciones constructoras (Constructor Functions): Funciones usadas con el operador
newpara crear objetos. Enfoque tradicional de OOP antes de las clases.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Petr", 30); -
Funciones callback (Callback Functions): Funciones pasadas como argumentos a otra función para ejecutarse en un momento determinado.
function processArray(arr, callback) { for (let i = 0; i < arr.length; i++) { callback(arr[i]); } } processArray([1, 2, 3], function(item) { console.log(item * 2); }); -
Expresiones de funciones inmediatamente invocadas (IIFE - Immediately Invoked Function Expressions): Funciones que se ejecutan justo después de definirse. Se usan para crear ámbitos locales.
(function() { // Código local const secret = "secreto"; console.log(secret); })();
Cada tipo de función tiene sus propias características de sintaxis, ámbito (this) y escenarios de uso.