Funciones¶
ℹ️ Fuente original: repo de Brayan Diaz C
Las funciones son bloques de código reutilizable que se pueden llamar en cualquier momento durante la ejecución del programa. En JavaScript, puedes definir funciones de varias maneras, pero la más común es utilizando la palabra clave function.
// Función que imprime un mensaje en la consola
function saludar() {
console.log("Hola, bienvenido!");
}
// Llamada a la función
saludar(); // Hola, bienvenido!
En este ejemplo, hemos definido una función llamada saludar que no recibe parámetros. Cuando se llama a la función, se muestra en la consola "Hola, bienvenido!".
// Definición de una función con un solo parámetro
function saludar(nombre) {
console.log("Hola, " + nombre + "!");
}
// Llamada a la función
saludar("Juan"); // Hola, Juan!
En este ejemplo, hemos definido una función llamada saludar que acepta un parámetro nombre. Cuando se llama a la función, el valor del parámetro se concatena con el mensaje "Hola, " y se muestra en la consola.
Parámetros y argumentos¶
Una función puede recibir cero o más parámetros. Los parámetros son variables que se utilizan dentro de la función para realizar algún tipo de operación.
// Definición de una función con dos parámetros
function saludar(nombre, apellido) {
console.log("Hola, " + nombre + " " + apellido + "!");
}
// Llamada a la función
saludar("Juan", "Pérez"); // Hola, Juan Pérez!
La función saludar definida en el ejemplo es una función que acepta dos parámetros: nombre y apellido. Cuando se llama a la función con los valores "Juan" y "Pérez", se concatena el valor de nombre con el valor de apellido y se muestra el mensaje "Hola, Juan Pérez!" en la consola.
// Definición de una función con dos parámetros
function sumar(a, b) {
var resultado = a + b;
console.log("El resultado de la suma es: " + resultado);
}
// Llamada a la función
sumar(5, 7); // El resultado de la suma es: 12
En este ejemplo, hemos definido una función llamada sumar que acepta dos parámetros a y b. Cuando se llama a la función, los valores de a y b se suman y se muestra el resultado en la consola.
Retorno de valores¶
Una función puede devolver un valor utilizando la palabra clave return. Cuando una función devuelve un valor, se puede asignar a una variable o utilizar como parte de una expresión.
// Definición de una función que devuelve un valor
function sumar(a, b) {
return a + b;
}
// Llamada a la función
var resultado = sumar(5, 7);
console.log("El resultado de la suma es: " + resultado); // El resultado de la suma es: 12
En este ejemplo, hemos definido una función llamada sumar que acepta dos parámetros a y b. Cuando se llama a la función, los valores de a y b se suman y se devuelve el resultado.
// Definición de una función que devuelve un valor
function sumar(a, b) {
return a + b;
}
// Llamada a la función
console.log("El resultado de la suma es: " + sumar(5, 7)); // El resultado de la suma es: 12
En este ejemplo, hemos definido una función llamada sumar que acepta dos parámetros a y b. Cuando se llama a la función, los valores de a y b se suman y se devuelve el resultado. En este caso, el resultado se muestra en la consola utilizando la función console.log.
// Definición de una función que devuelve un valor
function multiplicar(a, b) {
return a * b;
}
// Llamada a la función y asignación del valor de retorno a una variable
var resultado = multiplicar(3, 4);
console.log("El resultado de la multiplicación es: " + resultado); // El resultado de la multiplicación es: 12
En este ejemplo, hemos definido una función llamada multiplicar que acepta dos parámetros a y b. Cuando se llama a la función, los valores de a y b se multiplican y se devuelve el resultado. Luego, el valor de retorno se asigna a una variable llamada resultado y se muestra en la consola.
Argumentos por defecto¶
function elevar(base, exponente=2) {
return a ** b;
}
Funciones anónimas¶
Una función anónima es una función que no tiene un nombre. En JavaScript, las funciones anónimas se utilizan principalmente como argumentos de otras funciones.
// Definición de una función anónima como parámetro de otra función
setTimeout(function() {
console.log("Han pasado 5 segundos");
}, 5000);
En este ejemplo, hemos utilizado la función setTimeout para ejecutar una función anónima después de 5 segundos. La función anónima no tiene nombre, pero se define dentro de la llamada a setTimeout y muestra un mensaje en la consola después de que han pasado los 5 segundos.
Espero que esta guía te haya sido útil para entender cómo trabajar con funciones en JavaScript. ¡A programar!
arrow function o Funciones lambda¶
Una forma menos verbosa que hace más legible el código:
// Función lambda
const funcionLambda = (name) => { return "Hola " + name + "! Soy una función lambda."; }
console.log(funcionLambda("clase"));
const funcionLambdaSinLlaves = (name, apellidos) => "Hola " + name + "! Soy una función lambda " + apellidos ;
console.log( funcionLambdaSinLlaves("clase", "sin llaves") );
// sin llaves lleva el "return" IMPLÍCITO
const otraLambda = name => `Hola ${name}`
// ... y hasta sin los paréntesis (sólo con una varible)
⚠️ Importente: la función sólo estará disponible a partir de su asignación y NO antes.
Ejercicios¶
Esta sección contiene ejercicios para practicar los conceptos de funciones en JavaScript.
Ejercicio 1¶
Crear una función de JS que imprima los primeros “n” números pares pares(6) //2, 4, 6, 8, 10, 12 pares(3) //2, 4, 6 pares(10) //2, 4, 6, 8, 10, 12, 14, 16, 18, 20
// Funciòn que imprime los primeros n números pares
function pares(n) {
// aquí el desarrollo
}
// Ejemplo de uso
pares(6); //2, 4, 6, 8, 10, 12
pares(3); //2, 4, 6
pares(10); //2, 4, 6, 8, 10, 12, 14, 16, 18, 20
Ejercicio 2¶
Crear un método que reciba nombre y apellido y en un alert regrese la concatenación del nombre completo. nombreCompleto(“Pedro”, “Gonzalez”)
// Función que recibe nombre y apellido y muestra un alert con el nombre completo
function nombreCompleto(nombre, apellido) {
// aquí el desarrollo
}
// Ejemplo de uso
nombreCompleto("Pedro", "Gonzalez");
Ejercicio 3¶
Crear un método que reciba tu nombre y tu edad y determine si eres mayor de edad para solicitar un permiso de conducir. permiso(“Roberto”, 15) // “Roberto, no puedes solicitar el permiso” permiso(“Mario”, 36) // “Mario, puedes solicitar el permiso”
// Función que recibe nombre y edad y muestra un alert diciendo si el usuario puede solicitar el permiso de conducir
function permiso(nombre, edad) {
// aquí el desarrollo
}
// Ejemplo de uso
permiso("Roberto", 15); // “Roberto, no puedes solicitar el permiso”
permiso("Mario", 36); // “Mario, puedes solicitar el permiso”
Ejercicio 4¶
Crear un método que reciba 5 calificaciones y retorne el promedio. Y si es mayor ó igual a 70 imprima que aprobó si es menor, que no aprobó. promedio(70, 80, 80, 90, 60) // Aprobado: 76. promedio(70, 50, 75, 70, 60) // No Aprobado: 65.
// Función que recibe 5 calificaciones y muestra un alert con el promedio y si el usuario aprobó o no
function promedio(calificacion1, calificacion2, calificacion3, calificacion4, calificacion5) {
// aquí el desarrollo
}
// Ejemplo de uso
promedio(70, 80, 80, 90, 60); // Aprobado: 76.
promedio(70, 50, 75, 70, 60); // No Aprobado: 65.
Ejercicio de lambdas 1:¶
Verifica que una lambda NO está disponible hasta su asignación haciendo fallar el código y luego corrigiéndolo.
Ejercicio de lambdas 2:¶
Crea un template asignado a una lambda de forma que permita mostrar el valor de la varible de forma decorada, por ejemplo con un “hola + nombre”.