Funciones en JavaScript

Este es el tercer tutorial de la serie Mis apuntes JavaScript. En este tutorial aprenderemos las funciones o métodos en JavaScript.

Índice

  1. Las funciones
  2. Parametros por defecto
  3. Funciones como parámetro
  4. Funciones anónimas
  5. Funciones autoinvocadas
  6. Funciones flecha o arrow function

1. Las funciones

Las funciones son partes de código que nos permiten encapsular una funcionalidad y luego llamarla en otra parte de nuestro código. Por lo que las funciones o métodos aceptan parámetro y pueden retornar un valor. Para crear estas funciones en JavaScript es necesario usar la palabra function.

function saludar(nombre, edad) {
  console.log(`Mi nombre es ${nombre} y mi edad es ${edad} años`);
}
saludar("Andy", 21); // Mi nombre es Andy y mi edad es 21 años

Como vemos a una función podemos enviar datos los cuales se llaman parámetros. Pero también pueden retornar valores, y para esto usamos la palabra return.

function suma(a, b) {
  return a + b;
}
let total = suma(5, 5);
console.log(total); // 10

En JavaScript se puede asignar una función a una variable. De tal forma que solo agregándole los parametros (a, b) a la variable ya lo podemos usar para ejecutar la función.

let palabra = function mayuscula(palab) {
  return palab.toUpperCase();
};
console.log(palabra("andygeek")); // ANDYGEEK

2. Parámetro por defecto

En JavaScript podemos dar a un parámetro un valor por defecto por si este no es enviado. Para esto procedemos de la siguiente manera.

function saludo(name = "Andy") {
  console.log(`Hola mi nombre es ${name}`);
}
saludo(); // Hola mi nombre es Andy
saludo("AndyGeek"); // Hola mi nombre es AndyGeek

Si nuestra función tendrá parámetros obligatorios y por defecto primero se deben definir los parámetros obligatorios y al final la lista de parámetros por defecto. Además los parámetros se deben enviar en ese orden.

function saludo(age, name = "Andy") {
  console.log(`Hola mi nombre es ${name} y mi edad ${age}`);
}
saludo(21); // Hola mi nombre es Andy y mi edad 21
saludo(21, "AndyGeek"); // Hola mi nombre es AndyGeek y mi edad 21

3. Funciones como parámetro

En JavaScript se pueden enviar funciones como parámetros a otras funciones. Esto hace que en JavaScript podamos utilizar el paradigma de programación funcional. Veamos el siguiente ejemplo.

function responderSaludo(name, lastName) {
  console.log(`Soy ${name} ${lastName}`);
}
function preguntaNombre(fn, name, lastName) {
  console.log("Hola cual es tu nombre?");
  fn(name, lastName);
}
preguntaNombre(responderSaludo, "Andy", "Geek");
// Hola cual es tu nombre?
// Soy Andy Geek

4. Función anónima

La función anónima, como su nombre lo dice, es aquella función que no tiene nombre. Esta debe de ser asignada a una variable para poder ser llamada y ejecutada.

let saludo = function (name) {
  console.log(`Hola como estás ${name}`);
};
saludo("Andy"); // Hola como estás Andy

También es usada para ser enviada como parámetro a una función.

let saludo = function (fn) {
  console.log("Hola, como estás.");
  fn();
};
saludo(function () {
  console.log("Mucho gusto");
});
// Hola, como estás.
// Mucho gusto

5. Funciones auto invocadas

En JavaScript podemos crear funciones que se invocarán de manera inmediata y automáticamente de la siguiente manera.

(function () {
  // algún código aquí
})();

6. Función flecha o arrow function

Una función flecha es una forma rápida de definir una función. La forma de hacerlo es la siguiente.

let funcionFlecha = (parametro) => {
  console.log(parametro);
};

Además si retornamos algún valor no es necesario colocar el { } ni el return.

let sumaFlecha = (a, b) => a + b;
console.log(sumaFlecha(5, 6)); // 11

Fin de este segundo tutorial. Como ves JavaScript es sencillo, no tan diferente a otros lenguajes de programación, así que anímate a continuar con el siguiente tutorial de esta serie.