¿Por qué es necesario declarar una arrow function antes de usarla?
Declaración de una función:
a();
function a(){}
Expresión de una función (función como valor)
const prueba = function {
console.log('hola');
}
prueba();
En la primera fase de carga del código Javascript (hoising), las funciones se almacenan en memoria con todo su código, pero laas variables y constantes se almacenan con valor undefined.
En la fase de ejecución es dónde se asignan los valores a las variables y constantes. Por tanto, si utilizamos una variable o constante antes de haberle asignado un valor en esta fase, dará error, puesto que tendrá un valor de undefined.
Son una nueva manera de expresar las funciones de siempre, de un modo resumido y con algunas características nuevas.
nombre de la función = parámetros => cuerpo o valor devuelto
A continuación de la flecha ponemos lo que devuelve la función.
Sin parámetros
const devolver1 = () => {
console.log('Hola');
}
const devolver2 = _ => {
console.log('Adios');
}
devolver1(); // Hola
devolver2(); // Adios
Con un parámetro
const multiplicar1 = param => {
const resultado = param * 2;
console.log(resultado)
}
const multiplicar2 = (param) => {
const resultado = param * 2;
console.log(resultado)
}
multiplicar1(4); // 8
multiplicar2(4); // 8
Múltiples parámetros
const multiplicar = (x, y) => {
const resultado = x * y;
console.log(resultado);
}
multiplicar(2, 3); // 6
Sólo con return
const multiplicar = (x, y) => x * y;
const valor = multiplicar(2, 3);
console.log(valor); // 6
Ejercicios: funciones
Resolveremos los siguientes ejercicios definiendo una función con parámetros de entrada
1. Crear y llamar a una función que recibe un número y calcula su cubo.
2. Crear y llamar a una función que recibe la velocidad en Km/hora y la muestra en metros/hora.
3. Crea y llamar a una función que recibe el ancho y el alto de un rectángulo y calcula su superficie.
Cuando una función recibe varios parámetros, estos irán separados por coma.
calculaSuperficie(alto, ancho);
4. Crear y llamar a una función que recibe la base y la altura de un triángulo y calcula su área.
Area triángulo = base*altura/2