É uma forma de fazer também, explicitando o intuito da função.
Porém tenha cuidado com o uso do this. Funções nomeadas e anônimas possuem um uso diferente do this.
A grosso modo, enquanto as funções nomeadas possuem o contexto léxico do this de onde foram chamadas, as funções anônimas possuem o de onde foram criadas.
Exemplo:
function fullName() {
console.log(this.firstName + " " + this.lastName);
}
this.firstName = "Neymar"
this.lastName = "Jr."
const anonymFullName = () => {
console.log(this.firstName + " " + this.lastName);
}
function sayPeopleName(fullNameFunc) {
this.firstName = "Alberto"
this.lastName = "Casagrande"
fullNameFunc();
}
sayPeopleName(fullName)
sayPeopleName(anonymFullName)
Saída:
Alberto Casagrande
Neymar Jr.
Perceba que a função fullName
quando é chamada em sayPeopleName
printa o nome "Alberto Casagrande", que é o nome no this de sayPeopleName
, onde ela foi chamada.
Já a função anonymFullName
printa o nome "Neymar Jr.", que é o nome no contexto this que ela foi criada.
Mesmo as funções nomeadas podem ser exportadas e passadas como callbacks da mesma forma.
O seu exemplo é executável dessa forma também:
function nomeDaFuncao (...args) {
console.log(args)
//..... return bla bla bla
}
list.filter(nomeDaFuncao)