Algumas linguagens de programação tratam uma definição de função da mesma forma que tratam qualquer valor de outro tipo (ex. inteiros, reais, texto, etc..). Ou seja, diz-se que essas linguagens consideram uma função como Cidadã de Primeira Classe, de primeiro escalão.
// Um valor x qualquer const x = 28 console.log(x) // Um valor y qualquer const y = 'maio' console.log(y) // Um valor z qualquer const z = function(dia,mes,ano) { const data = `${dia} de ${mes} de ${ano}` return data } console.log(z(x,y,2021)) // Um valor w qualquer const w = (dia,mes,ano) => `${dia} de ${mes} de ${ano+1}` console.log(w(x,y,2021))