Olá, Geraldo
Na sua primeira parte da sua pergunta a questão é que em javascript, além de criar funções declarando ela, nós também temos a possibilidade de declarar uma variável e dentro dela colocar uma função então:
const saudacao = function(nome) {
return `Olá, ${nome}!`;
}
ou
function saudacao(nome) {
return `Olá, ${nome}!`;
}
ambos as maneiras são corretas e qual usar vai depender da convecção de estilos que o seu código preferir
Na sua segunda dúvida, também não está errado a forma que você solucionou da para manipular o evento, porém, poder ser um padrão mais interessante adicionar eventos a um botão, ao invés de modificar seus eventos, uma vez que adicionar novos eventos é mais interessante do que modificar diretamento o evento em um botão. Por exemplo:
// Usando onclick
btnCancelarTarefa.onclick = () => {
textarea.value = ''
console.log('Primeira função')
}
btnCancelarTarefa.onclick = () => {
formAdicionarTarefa.classList.add('hidden')
console.log('Segunda função')
}
// A segunda função substitui a primeira, então apenas a segunda será executada
// Usando addEventListener
btnCancelarTarefa.addEventListener('click', () => {
textarea.value = ''
console.log('Primeira função')
})
btnCancelarTarefa.addEventListener('click', () => {
formAdicionarTarefa.classList.add('hidden')
console.log('Segunda função')
})
// Ambas as funções serão executadas na ordem em que foram adicionadas
Ou seja, esse padrão pode acabar sendo mais difícil de manter, uma vez que novas implementações podem sobrescrever a antiga