Executando verificação de segurança...
1

Eu costumo a declarar ainda animas, mas da seguinte forma:

const nomeDaFuncao = (...args) => {
     console.log(args)
     //..... return bla bla bla
}

list.filter(nomeDaFuncao)

Quando tenho que exportar fica até fácil exportar a const, pois vou poder usa-la da mesma forma e ainda passar em outras callbacks

Carregando publicação patrocinada...
1

É 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)
1

Eu entendo a eventloop e para onde o this encaminha, seja ele um metodo, função ou qualquer objeto de callback 😅

Eu particularmente contorno o uso de this, descoplando os elementos de uma class ppr exemplo.

Sua explicação a respeito de escopo foi muito boa, poderia também ter dito a reapeiro dos binds, como a própria prototype bind, call e apply. 😌

Tornam uma confusão na mente de quem esta iniciando agora, mas na real é bem simples o uso.

Oque mais vejo por ai são curry com bind mal formada e quebrando toda a estrutura por não entenderem o escopo 😅

Outro ponto da sua resposta, poderia ser dito sobre construtores e a própria prototype 🥰 a origem da sintex sugar "class".

Obrigado por complementar a resposta, senti que faltou export mais detalhes técnicos da minha parte 🥰