Curso JavaScript ES6: Funciones

Curso JavaScript ES6: Funciones

En este curso veremos las mejoras y nuevas funciones que incorpora ECMAScript 6.

Este curso no trata se Javascript como tal sino de las mejoras incorporadas en la nueva versión, como son las funciones, variables y tipos de datos, objetos entre otras.

En este primer bloque comenzaremos con los cambios de las funciones en JavaScript ES6

Anteriormente para declarar una función en Javascript lo hacíamos dela siguiente manera:

Ahora en la nueva verisón ES6 podemos crear funciones anónimas de una manera mucho más sencilla con un solo parámetro.

<script>
var a = y => a;
console.log(y("Hola Mundo"));
</script>

Como podemos ver lo primero que eliminamos es la palabra function, omitimos los paréntesis y las llames y añadimos el Flat Arrow => que equivale al return.

Como podemos ver hemos simplificado mucho el código Javascript en una línea de código

Si necesitamos pasar más de un parámetro sería de la siguiente manera:

<script>
var x = (y,z) => y+" "+z;
console.log(y("Hola", "Mundo"));
</script>En este caso si que tendremos que utilizar los paréntesis en las variables (y, z)

 

Si no tenemos que pasar ningún parámetro lo haríamos de la siguiente manera:

<script>
var x = () => "Hola Mundo";
console.log((x));
</script>

Para llamara a una función desde otra función lo haríamos de la siguiente forma:

<script>
var x = ()=> {a = "hola", console.log(a)}
x(); // llama a la función
</script>

En este último ejemplo para llamar a la función simplemente tendremos que poner la variable x con los paréntesis para ejecutar la función.

Generadores de funciones

Los generadores son un tipo de función de regresa los valores generados por el algoritmo del usuario.

Una función se convierte en un generador cuando contienen una o más expresiones yield y la declaramos con function*

En el siguiente ejemplo veremos como sacar una serie de Fibonaci:

   <script>
function* fibonacci(n){
let a=0;
let b=1;
for(i=0; i<n;i++){
let ntemp=a;
a=b;
b=ntemp+b;
yield a;
}
}
x = 20
var fib = (fibonacci(x))
console.log(fib);
for (y= 0; y<x; y++){
console.log(fib.next().value);
}
</script>

Back to Top