JavaScript é uma linguagem muito orientada a funções. Isso nos dá muita liberdade. Uma função pode ser criada a qualquer momento, passada como argumento para outra função e, posteriormente, chamada de um local de código totalmente diferente.
JavaScript oferece flexibilidade excepcional ao lidar com funções. Eles podem ser repassados, usados como objetos, e agora veremos como encaminhar chamadas entre eles e decorá-los.