Questão de Programação — JavaScript — Quadrix 2025
- Código
- qg596722
- Banca
- Quadrix
- Órgão
- CRC-SP
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Desenvolvimento
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: E — ERRADO. A afirmação está incorreta: em JavaScript, funções anônimas podem ser atribuídas a variáveis e podem ser passadas como argumentos para outras funções. Isso é possível porque, no JavaScript, as funções são tratadas como cidadãs de primeira classe — ou seja, podem ser armazenadas em variáveis, passadas como parâmetros e retornadas de outras funções, exatamente como qualquer outro valor (número, string, objeto).
O conceito central aqui é o de funções de primeira classe (ou first-class functions). Em linguagens que adotam esse modelo, como JavaScript, uma função é um valor comum: ela pode ser atribuída a uma variável, passada como argumento para outra função e até retornada como resultado de uma chamada. Isso é a base de padrões como callbacks e de funções de alta ordem (funções que recebem ou retornam outras funções).
Na prática, veja como isso funciona:
// Atribuindo uma função anônima a uma variável
const saudacao = function(nome) {
return "Olá, " + nome;
};
console.log(saudacao("Maria")); // "Olá, Maria"
// Passando uma função anônima como argumento (callback)
function executar(funcao, valor) {
return funcao(valor);
}
const resultado = executar(function(x) { return x * 2; }, 5);
console.log(resultado); // 10No primeiro exemplo, a função anônima é atribuída à constante saudacao. No segundo, uma função anônima é passada diretamente como argumento para a função executar, que a invoca internamente. Ambos os usos são perfeitamente válidos e extremamente comuns no desenvolvimento web com JavaScript.
A confusão que a banca explora aqui é justamente a ideia de que funções anônimas seriam "incompletas" ou "sem utilidade" por não terem nome. Na verdade, a ausência de nome não impede que sejam usadas como valores — pelo contrário, é exatamente essa característica que permite criá-las "na hora", sem precisar declarar um nome, e passá-las diretamente para outras funções. Esse é o princípio por trás dos callbacks, amplamente utilizados em operações assíncronas, manipulação de eventos e métodos de array como map, filter e forEach.
A banca inverte o conceito de função anônima. O candidato pode pensar: "se é anônima, não tem nome, então não pode ser usada como valor". Mas é exatamente o contrário: por ser um valor de primeira classe, a função anônima pode ser atribuída a variáveis e passada como argumento — e é isso que a torna tão útil em JavaScript. Lembre-se: função anônima não é função inútil; é uma função que pode ser usada como qualquer outro valor.
A alternativa C afirma que funções anônimas não podem ser atribuídas a variáveis e não podem ser passadas como argumentos. Isso é falso. Como vimos, funções em JavaScript são cidadãs de primeira classe, o que permite exatamente esses usos. A alternativa inverte a realidade da linguagem, apresentando como limitação o que é, na verdade, uma de suas principais características.
A alternativa E está correta ao afirmar que o item é ERRADO. A afirmação do enunciado é falsa: funções anônimas podem ser atribuídas a variáveis e podem ser passadas como argumentos. Isso é possível porque JavaScript trata funções como valores de primeira classe, permitindo que sejam armazenadas, passadas e retornadas como qualquer outro tipo de dado. O gabarito, portanto, é a letra E.
Gabarito: letra E
Link permanente: /questoes/qg596722