Problema básico function Javascript [SOLUCIONADO]

Comprendiendo las funciones en JavaScript

El lenguaje de programación JavaScript es una herramienta esencial para el desarrollo de aplicaciones web modernas. Uno de los fundamentos más importantes a dominar cuando se trabaja con JavaScript son las funciones. Las funciones en JavaScript son bloques de código reutilizables que se encargan de realizar una tarea específica.

Definición y uso de funciones

Una función es declarada utilizando la palabra clave function, seguida de un nombre, paréntesis para los parámetros y finalmente un bloque de código encerrado entre llaves. Veamos un ejemplo básico de cómo se ve una función en JavaScript:

function saludar() {
    console.log("¡Hola, mundo!");
}

Al ejecutar saludar(), veremos en la consola el mensaje ¡Hola, mundo!. La reutilización de código se hace evidente ya que podemos invocar esta función todas las veces que deseemos sin tener que escribir de nuevo la instrucción console.log.

Parámetros y argumentos

Las funciones pueden recibir información externa a través de los parámetros. Estos actúan como variables dentro de la función. Al invocar la función, pasamos los respectivos valores, conocidos como argumentos, que corresponden a estos parámetros. Un ejemplo concreto podría ser:

function saludarPersona(nombre) {
    console.log("¡Hola, " + nombre + "!");
}

Cuando llamamos a saludarPersona(‘Ana’), el resultado será ¡Hola, Ana!. Los nombres ‘Ana’ actúa aquí como argumento que se pasa al parámetro nombre.

Funciones Anónimas y Expresiones de Funciones

En JavaScript también existen las funciones anónimas, que como su nombre indica, no tienen un identificador. Se utilizan principalmente en el contexto de expresiones de funciones. Estas funciones son útiles cuando se quiere crear una función que solo se utilice una vez o en contextos específicos, como en los manejadores de eventos. Veamos cómo se implementan:

var despedirse = function(nombre) {
    console.log("Adiós, " + nombre + ".");
};

La variable despedirse contiene una función que se puede invocar escribiendo despedirse(‘Carlos’), y mostrará Adiós, Carlos. en la consola.

Funciones Flecha

Con la llegada de ES6, surgieron las funciones flecha (arrow functions), que ofrecen una sintaxis más concisa y el manejo contextual de ‘this’. Veamos un ejemplo de función anónima reescrita como función flecha:

var despedirse = (nombre) => {
    console.log("Adiós, " + nombre + ".");
};

En este caso, la funcionalidad es la misma que la anterior, pero la sintaxis es más limpia y breve.

La Importancia de las Funciones como Ciudadanos de Primera Clase

En JavaScript, las funciones se consideran ciudadanos de primera clase porque pueden ser asignadas a variables, pasadas como argumentos a otras funciones, retornarlas como valores desde otras funciones, y más. Este concepto es crucial para técnicas avanzadas como el currying y las funciones de orden superior.

Funciones de Retorno y Cierres (Closures)

Las funciones no solo pueden recibir parámetros, sino que también pueden devolver valores. Cuando una función genera un valor de salida, se utiliza la palabra clave return. Además, existen los cierres, conocidos como closures en inglés, que suceden cuando una función recuerda el ámbito en el que fue creada, incluso después de que el bloque de código haya terminado su ejecución. Veamos un ejemplo de una función que utiliza return y un cierre:

function crearSaludoFinal(despedida) {
    return function(nombre) {
        console.log(despedida + ", " + nombre + ".");
    };
}
var adios = crearSaludoFinal("Adiós");

Con adios(‘Eva’), veremos en la consola el mensaje Adiós, Eva. Aunque la función crearSaludoFinal ya haya terminado su ejecución, el cierre permite que la función anónima recuerde el valor de despedida.

Gestión de errores y excepciones

Un aspecto fundamental en la creación de funciones es el manejo de errores y excepciones. Utilizar bloques try…catch permite capturar y manejar errores de manera proactiva, y con throw se pueden lanzar errores personalizados. Veamos cómo podría implementarse:

function dividir(a, b) {
    if(b === 0) {
        throw new Error("División por cero no permitida.");
    }
    return a / b;
}
try {
    var resultado = dividir(10, 0);
} catch(e) {
    console.log(e.message);
}

Al intentar ejecutar dividir(10, 0), se presentará un error que será capturado por el bloque catch, y se mostrará el mensaje: “División por cero no permitida”.

Conclusión

Las funciones en JavaScript forman la columna vertebral de muchos patrones de diseño y arquitecturas de aplicación. Comprender cómo funcionan las funciones anónimas, los cierres, y el manejo de errores junto con las funciones de orden superior y funciones flecha permitirá escribir código más limpio, modular y mantenible.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad