function sort(a, b) {
if (a < b) return 1
else return -1
}
Piękna i standardowa funkcja do sortowania. Jednak zajmuje sporo miejsca a mało robi. Spójrzcie teraz na to:
const sort = (a,b) => a < b ? 1 : -1
Jak dla mnie wygląda naprawdę spoko.
Robimy sobie stałą o nazwie sort.
const sort
Przypisujemy do niej funkcję.
sort = (a, b)
I określamy co ona ma robić.
(a ,b) => a < b ? 1 : -1
Słowem wyjaśnienia co robi funkcja:
a < b ? 1 : -1
czyli:
if (a < b) return 1 else return -1
Nasz if przeskakuje za warunek i zmienia się na ?, a else na :
() => {}
Na początku argumenty, następnie strzałka i co się dzieje.
arg => arg + 1
arg => { return arg + 1 }
Obie funkcje powyżej robią to samo. Domyślnie arrow function robi return wyniku, czyli w powyższym przypadku zwróci nam arg powiększony o jeden.
(arg) => arg + 1
arg => arg + 1
Jeśli jest tylko jeden argument możemy spokojnie pominąć () wokół argumentu.
// ... code goes here
}