Questão 49 · Informática: Programação e algoritmos
Os trechos JavaScript a seguir apresentados funcionam corretamente, à exceção de um. Assinale-o.
- A) bomDia = function() { return "Bom dia!"; } alert(bomDia());
- B) bomDia = () => { return "Bom dia!"; } alert(bomDia());
- C) x = "!"; bomDia = (val) => "Bom dia" + val; alert(bomDia(x));
- D) bomDia => "Bom dia!"; alert(bomDia);
- E) bomDia = (a) => a + "!"; alert(bomDia("Bom dia"));
Marque a alternativa correta:
Gabarito: D
Gabarito definitivo divulgado pela banca FGV (ALE/MA 2023).
Comentário
Gabarito: D.
Em D, bomDia => "Bom dia!"; é uma função seta em que bomDia é apenas o nome do parâmetro, e a expressão não é atribuída a nenhuma variável. Assim, em alert(bomDia); o identificador bomDia não existe no escopo externo, o que gera erro de referência (ReferenceError). Por isso é o trecho que não funciona.
- (A) Atribui uma função anônima a
bomDiae a chama: exibe "Bom dia!". - (B) Atribui uma função seta com bloco e
returnabomDia: exibe "Bom dia!". - (C) A função seta recebe
val;"Bom dia" + "!"resulta em "Bom dia!". - (E) A função seta concatena o parâmetro com "!"; chamada com "Bom dia", resulta em "Bom dia!".
Dica: em uma função seta, o nome antes de => é parâmetro; para criar uma função nomeada, é preciso atribuí-la a uma variável (bomDia = () => ...).
Fundamentos: funções seta em JavaScript · escopo de parâmetros · atribuição de funções a variáveis
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV ALE/MA 2023 (Assistente Legislativo Administrativo - Criador e Desenvolvedor de Web e Plataformas Digitais), questão 49, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.