javascript - una - Dos juegos de paréntesis después de la llamada de función
retornar valor de una funcion javascript (3)
Es lo mismo que esto:
var func = $filter(''number'');
func(number[, fractionSize]);
La función $filter()
devuelve un puntero a otra función.
Estaba buscando cómo funcionan los filters en Angularjs y vi que necesitamos enviar 2 conjuntos de paréntesis.
$filter(''number'')(number[, fractionSize])
¿Qué significa y cómo lo manejamos con JavaScript?
Significa que la primera función ( $filter
) devuelve otra función y luego esa función devuelta se llama inmediatamente. Por ejemplo:
function add(x){
return function(y){
return x + y;
};
}
var addTwo = add(2);
addTwo(4) === 6; // true
add(3)(4) === 7; // true
$filter(''number'')
devuelve una función que acepta dos argumentos; el primero es obligatorio (un número) y el segundo es opcional (el tamaño de la fracción).
Es posible llamar inmediatamente a la función devuelta:
$filter(''number'')(''123'')
Alternativamente, puede mantener la función devuelta para uso futuro:
var numberFilter = $filter(''number'');
numberFilter(''123'')