Función

En Javascript una función es un tipo de objeto y se puede utlizar como cualquier otro objeto.

Por ejemplo, puedes asignar una función a una variable o añadir una propiedad a la función:

const hello = function() {
    console.log("Hello ${this.name}!")
}

hello()
hello.name = "David"
hello()

Como las funciones son objetos, Javascript es un lenguaje que permite la programación funcional porque se pueden pasar funciones como argumentos de otras funciones:

const array = [1,2,3]

array.forEach(function(e) {
    console.log(e + 3)
}