ES6: Arrow funkce

Věděli jste, že nové arrow funkce v ES6 mají více syntaxí?

Pokud použijete víceřádkový zápis samotné funkce, musíte použít složené závorky pro kód samotné funkce a musíte použít příkaz return:

"use strict";
let jmena = ['Pepa', 'Josef', 'Jirka']
let jmena_lower = jmena.map((jmeno) => {
    return jmeno.toLowerCase()
});

Při jednořádkovém zápisu arrow funkce nemusíte použít složené závorky a funkce implicitně vrací výsledek poslední operace. Příkaz return není nutný, ale můžete jej použít:

"use strict";
let jmena = ['Pepa', 'Josef', 'Jirka']
let jmena_lower = jmena.map((jmeno) => jmeno.toLowerCase());

Pokud arrow funkci předáváte jen jeden argument, nemusíte jej uvádět v závorkách:

"use strict";
let jmena = ['Pepa', 'Josef', 'Jirka']
let jmena_lower = jmena.map(jmeno => jmeno.toLowerCase());

A nakonec, pokud arrow funkci nepředáváte žádné argumenty, musíte závorky stejně uvést:

"use strict";
(() => alert("Jedeme!"))();