javascript - Jak funguje následující návratový příkaz ve funkcích
function greaterThan(n) {
return m => m > n;
}
Snažím se pochopit, jak tato return instrukce funguje a co vlastně proměnná 'm' dělá.
Odpověď č. 1
greaterThan je funkce, která přijímá parametr n a vrací funkci, která přijímá parametr m. Vrácená funkce porovnává m a n a vrací boolean hodnotu.
např.
greaterThan(5)(4); // Returns false
Odpověď č. 2
Funkce greaterThan přijímá parametr n a vrací novou funkci, která přijímá parametr m a ta následně vrací true, pokud je argument předaný jako m větší než n;
Stejná metoda v kódu ES5:
function greaterThan(n) {
return function(m) {
return m > n
}
}
var greaterThan5 = greaterThan(5); // This returns a function
// Call that function with a parameter to check if that is greater than 5
console.log(greaterThan5(10)); //true [n=5, m=10]
console.log(greaterThan5(1)); //false [n=5, m=1]
//Note: The newly created function will have `n` "fixed" as `5` because of how JS closures workUžitečná reference:
Uzávěry v JavaScriptu
Šipkové funkce
JS funkce (a jak jsou v JS objekty první třídy)
