A linguagem de programação JavaScript tem suporte a diversos paradigmas de programação. Dessa forma, temos recursos importantes disponíveis que facilitam a vida do desenvolvedor de aplicativos, como a possibilidade de utilizar funções de alta ordem. Indique a opção que representa a descrição de funções de alta ordem:
Questão
A linguagem de programação JavaScript tem suporte a diversos paradigmas de programação. Dessa forma, temos recursos importantes disponíveis que facilitam a vida do desenvolvedor de aplicativos, como a possibilidade de utilizar funções de alta ordem. Indique a opção que representa a descrição de funções de alta ordem:
Alternativas
a) Diferenciação de maiúsculo e minúsculo nas declarações.
b) Disponibilidade de funções como “while”, “if” e “for”.
c) Suporte a herança, polimorfismo, encapsulamento e abstração.
d) Possibilidade de uso opcional do ponto e vírgula.
e) Capacidade das funções de receber e retornar valores ou funções.
Explicação
Em JavaScript, funções de alta ordem (higher-order functions) são aquelas que podem receber outras funções como argumento e/ou retornar uma função como resultado.
Analisando as alternativas:
- a) Trata de case sensitivity (maiúsculas/minúsculas), não de funções de alta ordem.
- b) “while”, “if” e “for” são estruturas de controle/fluxo, não caracterizam funções de alta ordem.
- c) Refere-se a conceitos de POO (herança, polimorfismo etc.).
- d) Fala sobre ponto e vírgula opcional (ASI), não sobre alta ordem.
- e) Descreve exatamente a ideia de alta ordem: funções que recebem e/ou retornam funções.
Alternativa correta: (e).